Changeset 168
- Timestamp:
- 03/10/08 12:50:17 (4 years ago)
- Location:
- trunk/docx4j/src/main/java/org/docx4j
- Files:
-
- 1 added
- 3 edited
-
fonts/Substituter.java (modified) (2 diffs)
-
openpackaging/packages/WordprocessingMLPackage.java (modified) (1 diff)
-
openpackaging/parts/WordprocessingML/FontTablePart.java (modified) (2 diffs)
-
openpackaging/parts/WordprocessingML/fontTable.xml (added)
Legend:
- Unmodified
- Added
- Removed
-
trunk/docx4j/src/main/java/org/docx4j/fonts/Substituter.java
r166 r168 317 317 } 318 318 319 319 320 public void populateFontMappings(Map documentFontNames, org.docx4j.wml.Fonts fonts ) throws Exception { 320 321 … … 326 327 * org.docx4j.wml.Fonts fonts = (org.docx4j.wml.Fonts)fontTablePart.getJaxbElement(); 327 328 * 329 * If the document doesn't have a font table, 330 * 331 * org.docx4j.openpackaging.parts.WordprocessingML.FontTablePart fontTable 332 * = new org.docx4j.openpackaging.parts.WordprocessingML.FontTablePart(); 333 * fontTable.unmarshalDefaultFonts(); 334 * 328 335 * We need to make a map out of it. 329 336 */ -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/packages/WordprocessingMLPackage.java
r166 r168 265 265 // - do this in a general way, since docx4all needs this as well to display fonts 266 266 fontSubstituter = new Substituter(); 267 FontTablePart fontTablePart= this.getMainDocumentPart().getFontTablePart(); 268 org.docx4j.wml.Fonts fonts = (org.docx4j.wml.Fonts)fontTablePart.getJaxbElement(); 267 org.docx4j.wml.Fonts fonts = null; 268 FontTablePart fontTablePart= this.getMainDocumentPart().getFontTablePart(); 269 270 if (fontTablePart!=null) { 271 fonts = (org.docx4j.wml.Fonts)fontTablePart.getJaxbElement(); 272 } else { 273 log.warn("FontTable missing; creating default part."); 274 fontTablePart= new org.docx4j.openpackaging.parts.WordprocessingML.FontTablePart(); 275 fontTablePart.unmarshalDefaultFonts(); 276 } 269 277 270 278 fontSubstituter.populateFontMappings(fontsInUse, fonts); -
trunk/docx4j/src/main/java/org/docx4j/openpackaging/parts/WordprocessingML/FontTablePart.java
r145 r168 23 23 24 24 //import javax.xml.bind.JAXBElement; 25 import java.io.IOException; 26 25 27 import javax.xml.bind.JAXBException; 26 28 import javax.xml.bind.Unmarshaller; … … 100 102 101 103 } 104 105 /** 106 * Unmarshal a default font table, useful when creating this 107 * part from scratch. 108 * 109 * @return the newly created root object of the java content tree 110 * 111 * @throws JAXBException 112 * If any unexpected errors occur while unmarshalling 113 */ 114 public Object unmarshalDefaultFonts() throws JAXBException { 115 116 java.io.InputStream is = null; 117 try { 118 // Works in Eclipse - not absence of leading '/' 119 is = org.docx4j.utils.ResourceUtils.getResource("org/docx4j/openpackaging/parts/WordprocessingML/fontTable.xml"); 120 } catch (IOException e) { 121 // TODO Auto-generated catch block 122 e.printStackTrace(); 123 } 124 125 return unmarshal( is ); 126 } 127 102 128 103 129 }
Note: See TracChangeset
for help on using the changeset viewer.
