FOP 2.1 cannot find Tahoma font - apache-fop

Im using FOP 2.1 to generate pdf files. It mostly works fine, but there are a number of warnings im trying to get rid of. First thing is to get rid of the missing font warnings:
2019-01-24 15:23:30.052 WARN 8772 --- [https-jsse-nio-8087-exec-6] org.apache.fop.apps.FOUserAgent : Font "Tahoma,normal,700" not found. Substituting with "any,normal,700".
2019-01-24 15:23:30.098 WARN 8772 --- [https-jsse-nio-8087-exec-6] org.apache.fop.apps.FOUserAgent : Font "Tahoma,normal,400" not found. Substituting with "any,normal,400".
Fop config is in fop.xml file and is as such:
<?xml version="1.0"?>
<fop>
<renderers>
<renderer mime="application/pdf">
<font kening="yes" embed-url="tahoma.ttf" sub-font="Tahoma">
<font-triplet name="Tahoma" style="normal" weight="normal"/>
</font>
<font kening="yes" embed-url="tahomabd.ttf" sub-font="Tahoma">
<font-triplet name="Tahoma" style="normal" weight="bold"/>
</font>
</renderer>
</renderers>
</fop>
Fop config is read in as follows:
InputStream inStr = this.getClass().getResourceAsStream("/fop.xml");
FopFactory fopFactory = FopFactory.newInstance(new java.net.URI("."), inStr);
Am i missing something or why it is not finding the fonts?

Related

Flutter svg Failed to find definition for url

flutter_svg package error on flutter
════════ Exception caught by SVG
═══════════════════════════════════════════════ The following
assertion was thrown while parsing AssetBundlePictureKey(bundle:
PlatformAssetBundle#f8f72(), name: "assets/plane.svg", colorFilter:
null, theme: SvgTheme(currentColor: null, fontSize: 14, xHeight: 7))
in _getDefinitionPaint: Failed to find definition for url(#a)
This library only supports and xlink:href references that are
defined ahead of their references.
This error can be caused when the desired definition is defined after
the element referring to it (e.g. at the end of the file), or defined
in another file.
This error is treated as non-fatal, but your SVG file will likely not
render as intended
════════════════════════════════════════════════════════════════════════════════
════════ Exception caught by SVG
═══════════════════════════════════════════════ Failed to find
definition for url(#a)
════════════════════════════════════════════════════════════════════════════════
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="324" height="93" xml:space="preserve">
<image width="324" height="93" href="data:image/png;base64,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" />
<defs>
<pattern id="a" height="100%" width="100%" patternContentUnits="objectBoundingBox">
<image height="1" width="1" preserveAspectRatio="xMidYMid slice" xlink:href="https://upload.wikimedia.org/wikipedia/fr/9/9a/Etihad_Airways_logo.png" />
</pattern>
</defs>
<g>
<path fill="url(#a)" d="M20 5h15l45 50H40z" />
<circle cx="293" cy="63" r="8" fill="url(#a)" />
</g>
</svg>
I am getting the error "Failed to find definition for url(#patternDefined)".
so just convert the image to svg using this website https://onlineconvertfree.com/convert-format/png-to-svg/.
You need to convert Svg online who can produce SVG without pattern tag because it's not supported by the flutter_svg plugin.
You can also use png file and change the color of image using color parameter in png file in app.

MonkeyC resource compiler does not recognize resources code, using eclipse with MonkeyC plug-in

I am trying to experiment with making drawables in MonkeyC so i can make my own WatchFace. However, it does not seem that the resource compiler works, as it keeps popping this error:
BUILD: ERROR: D:\MonkeyC\O-face\source\OfaceView.mc:70: extraneous input '<' expecting {<EOF>, 'using', '(', 'native', 'static', 'hidden', 'var', 'const', 'class', 'function', 'module', 'enum'}
This is my relevant piece of code:
<resources>
<drawable-list id="Post" x ="30" y ="30" width = "40" height = "40" background="Gfx.COLOR_BLACK">
<shape type="Polygon" x="37" y="3" points = "3" width = "34" height = "34" color="Gfx.COLOR_ORANGE" />
<shape type="Polygon" x="3" y="3" points = "3" width = "34" height = "34" color="Gfx.COLOR_WHITE" />
</drawable-list>
</resources>
If you have that XML code above within a file named OfaceView.mc (which is what appears to be the case) then the compiler is treating the file as a MonkeyC file (due to the .mc file extension). The XML you have should be within the resources directory/folder within a file that has a file extension of .xml

How to create a document and fill it with textboxes based on x and y coords or pixels?

Im trying to create a template to print some information on a blank document based in coordinates or pixels or cm, wtv is possible.
why? I have some accounting forms which is to bad fill it manual. Im wondering if it is possible to create a function with some parameters related to the text box positions in document.
eg. txtName goes to (3,15) position in a document. It may be necessary define the size of document
If it is possible, what language you recommend?
Yes, it is possible.
If you use Microsoft Word to insert a text box into a blank document, then save it, and inspect the resulting docx, you'll see Word inserts the text box in 2 formats:
<mc:AlternateContent>
<mc:Choice Requires="wps">
<w:drawing>
<wp:anchor distT="0" distB="0" distL="114300" distR="114300" simplePos="0" relativeHeight="251659264" behindDoc="0" locked="0" layoutInCell="1" allowOverlap="1" wp14:anchorId="44014479" wp14:editId="7FACADD8">
<wp:simplePos x="0" y="0"/>
<wp:positionH relativeFrom="column">
<wp:align>center</wp:align>
</wp:positionH>
<wp:positionV relativeFrom="paragraph">
<wp:posOffset>0</wp:posOffset>
</wp:positionV>
<wp:extent cx="2374265" cy="1403985"/>
<wp:effectExtent l="0" t="0" r="22860" b="23495"/>
<wp:wrapTopAndBottom/>
<wp:docPr id="307" name="Text Box 2"/>
<wp:cNvGraphicFramePr>
<a:graphicFrameLocks xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main"/>
</wp:cNvGraphicFramePr>
<a:graphic xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:graphicData uri="http://schemas.microsoft.com/office/word/2010/wordprocessingShape">
<wps:wsp>
<wps:cNvSpPr txBox="1">
<a:spLocks noChangeArrowheads="1"/>
</wps:cNvSpPr>
<wps:spPr bwMode="auto">
<a:xfrm>
<a:off x="0" y="0"/>
<a:ext cx="2374265" cy="1403985"/>
</a:xfrm>
<a:prstGeom prst="rect">
<a:avLst/>
</a:prstGeom>
<a:solidFill>
<a:srgbClr val="FFFFFF"/>
</a:solidFill>
<a:ln w="9525">
<a:solidFill>
<a:srgbClr val="000000"/>
</a:solidFill>
<a:miter lim="800000"/>
<a:headEnd/>
<a:tailEnd/>
</a:ln>
</wps:spPr>
<wps:txbx>
<w:txbxContent>
<w:p w:rsidR="006C2E97" w:rsidRDefault="006C2E97">
<w:proofErr w:type="gramStart"/>
<w:r>
<w:t>YOUR CONTENT GOES HERE</w:t>
</w:r>
</w:p>
</w:txbxContent>
</wps:txbx>
<wps:bodyPr rot="0" vert="horz" wrap="square" lIns="91440" tIns="45720" rIns="91440" bIns="45720" anchor="t" anchorCtr="0">
<a:spAutoFit/>
</wps:bodyPr>
</wps:wsp>
</a:graphicData>
</a:graphic>
<wp14:sizeRelH relativeFrom="margin">
<wp14:pctWidth>40000</wp14:pctWidth>
</wp14:sizeRelH>
<wp14:sizeRelV relativeFrom="margin">
<wp14:pctHeight>20000</wp14:pctHeight>
</wp14:sizeRelV>
</wp:anchor>
</w:drawing>
</mc:Choice>
<mc:Fallback>
<w:pict>
<v:shapetype id="_x0000_t202" coordsize="21600,21600" o:spt="202" path="m,l,21600r21600,l21600,xe">
<v:stroke joinstyle="miter"/>
<v:path gradientshapeok="t" o:connecttype="rect"/>
</v:shapetype>
<v:shape id="Text Box 2" o:spid="_x0000_s1026" type="#_x0000_t202" style="position:absolute;margin-left:0;margin-top:0;width:186.95pt;height:110.55pt;z-index:251659264;visibility:visible;mso-wrap-style:square;mso-width-percent:400;mso-height-percent:200;mso-wrap-distance-left:9pt;mso-wrap-distance-top:0;mso-wrap-distance-right:9pt;mso-wrap-distance-bottom:0;mso-position-horizontal:center;mso-position-horizontal-relative:text;mso-position-vertical:absolute;mso-position-vertical-relative:text;mso-width-percent:400;mso-height-percent:200;mso-width-relative:margin;mso-height-relative:margin;v-text-anchor:top" >
<v:textbox style="mso-fit-shape-to-text:t">
<w:txbxContent>
<w:p w:rsidR="006C2E97" w:rsidRDefault="006C2E97">
<w:r>
<w:t>YOUR CONTENT GOES HERE</w:t>
</w:r>
</w:p>
</w:txbxContent>
</v:textbox>
<w10:wrap type="topAndBottom"/>
</v:shape>
</w:pict>
</mc:Fallback>
</mc:AlternateContent>
</w:r>
You can use either the w:drawing or the w:pict syntax. I quite like w:pict with its #style
As a first step you'll want to play in Word with how the boxes are positioned - I guess you want them positioned against the page, not a paragraph.
Then its just a matter of replicating the XML in your choice of language.
You could:
unzip, manipulate, then rezip
doing the manipulation with XML aware tool
or doing the manipulation without that
or use a lib, such as:
for .NET, Microsoft's Open XML SDK
for Java, POI, docx4j
for C, libopc
etc...

Malformed UTF-8 character (fatal) error while parsing XML using XML::LibXML

I am parsing XML files using XML::LibXML. For the following XML entry I get the error:
Malformed UTF-8 character (fatal) at C:/Perl64/site/lib/XML/LibXML/Error.pm line 217
which is
$context=~s/[^\t]/ /g;
The entry in XML is the following
<MedlineCitation Owner="NLM" Status="MEDLINE">
<PMID Version="1">15177811</PMID>
<DateCreated>
<Year>2004</Year>
<Month>06</Month>
<Day>04</Day>
</DateCreated>
<DateCompleted>
<Year>2004</Year>
<Month>08</Month>
<Day>11</Day>
</DateCompleted>
<DateRevised>
<Year>2011</Year>
<Month>04</Month>
<Day>07</Day>
</DateRevised>
<Article PubModel="Print">
<Journal>
<ISSN IssnType="Print">0278-2626</ISSN>
<JournalIssue CitedMedium="Print">
<Volume>55</Volume>
<Issue>2</Issue>
<PubDate>
<Year>2004</Year>
<Month>Jul</Month>
</PubDate>
</JournalIssue>
<Title>Brain and cognition</Title>
<ISOAbbreviation>Brain Cogn</ISOAbbreviation>
</Journal>
<ArticleTitle>Efficiency of orientation channels in the striate cortex for distributed categorization process.</ArticleTitle>
<Pagination>
<MedlinePgn>352-4</MedlinePgn>
</Pagination>
<Affiliation>Cognitive Science Department, Université de Liège, Belgium. mmermillod#ulg.ac.be</Affiliation>
<AuthorList CompleteYN="Y">
<Author ValidYN="Y">
<LastName>Mermillod</LastName>
<ForeName>Martial</ForeName>
<Initials>M</Initials>
</Author>
<Author ValidYN="Y">
<LastName>Chauvin</LastName>
<ForeName>Alan</ForeName>
<Initials>A</Initials>
</Author>
<Author ValidYN="Y">
<LastName>Guyader</LastName>
<ForeName>Nathalie</ForeName>
<Initials>N</Initials>
</Author>
</AuthorList>
<Language>eng</Language>
<PublicationTypeList>
<PublicationType>Journal Article</PublicationType>
</PublicationTypeList>
</Article>
<MedlineJournalInfo>
<Country>United States</Country>
<MedlineTA>Brain Cogn</MedlineTA>
<NlmUniqueID>8218014</NlmUniqueID>
<ISSNLinking>0278-2626</ISSNLinking>
</MedlineJournalInfo>
<CitationSubset>IM</CitationSubset>
<CommentsCorrectionsList>
<CommentsCorrections RefType="ErratumIn">
<RefSource>Brain Cogn. 2005 Jul;58(2):245</RefSource>
</CommentsCorrections>
<CommentsCorrections RefType="RepublishedIn">
<RefSource>Brain Cogn. 2005 Jul;58(2):246-8</RefSource>
<PMID Version="1">16044513</PMID>
</CommentsCorrections>
</CommentsCorrectionsList>
<MeshHeadingList>
<MeshHeading>
<DescriptorName MajorTopicYN="Y">Neural Networks (Computer)</DescriptorName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N">Neurons</DescriptorName>
<QualifierName MajorTopicYN="N">physiology</QualifierName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N">Orientation</DescriptorName>
<QualifierName MajorTopicYN="Y">physiology</QualifierName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N">Pattern Recognition, Visual</DescriptorName>
<QualifierName MajorTopicYN="Y">physiology</QualifierName>
</MeshHeading>
<MeshHeading>
<DescriptorName MajorTopicYN="N">Visual Cortex</DescriptorName>
<QualifierName MajorTopicYN="Y">physiology</QualifierName>
</MeshHeading>
</MeshHeadingList>
</MedlineCitation>
But the things I want out of this entry is PMID, DateRevised, PubDate, ArticleTitle, CommentsCorrectionList, and MeshHeadingList. But, if I remove Affiliation which contains some other character this error is no more. How should I fix this error?
You could either convert the file to the specified encoding (UTF-8), or you can specify the encoding actually used for the file. (<?xml version="1.0" encoding="cp1252"?>).
Notepad can be used to convert to UTF-8, and so can Perl:
perl -pe"
BEGIN {
binmode STDIN, ':encoding(cp1252)';
binmode STDOUT, ':encoding(UTF-8)';
}
" < file.cp1252 > file.UTF-8
(You'll have to remove the line breaks I've added for readability.)

remove the spaces betwwen the tags in local xml file in iphone sdk

I am having an xml named test11.xml now when i pasrse the data into CXML there are spaces in the parsed xml i want to remove these space ..
Kindly Find my xml data as below
thanks
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<?mso-application progid="Word.Document"?>
<w:wordDocument xmlns:w="http://schemas.microsoft.com/office/word/2003/wordml" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:sl="http://schemas.microsoft.com/schemaLibrary/2003/core" xmlns:aml="http://schemas.microsoft.com/aml/2001/core" xmlns:wx="http://schemas.microsoft.com/office/word/2003/auxHint" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" w:macrosPresent="no" w:embeddedObjPresent="no" w:ocxPresent="no" xml:space="preserve"><o:DocumentProperties></o:DocumentProperties><w:fonts><w:defaultFonts w:ascii="Times New Roman" w:fareast="Times New Roman" w:h-ansi="Times New Roman" w:cs="Times New Roman"/></w:fonts><w:docPr></w:docPr><w:body><wx:sect><w:p><w:pPr><w:ind w:left="560" w:first-line="-560"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Menlo" w:h-ansi="Menlo" w:cs="Menlo"/><wx:font wx:val="Menlo"/><w:sz w:val="22"/><w:sz-cs w:val="22"/><w:b/></w:rPr><w:t><CXMLDocument 0x5d16270 [0x5d1b0e0]> <?xml version="1.0"?></w:t></w:r></w:p><w:p><w:pPr><w:ind w:left="560" w:first-line="-560"/></w:pPr><w:r><w:rPr><w:rFonts w:ascii="Menlo" w:h-ansi="Menlo" w:cs="Menlo"/><wx:font wx:val="Menlo"/><w:sz w:val="22"/><w:sz-cs w:val="22"/><w:b/></w:rPr><w:t><feed
One of the many options i suggest is read the xml in a string then use the function of the string replaceOccuranceOfString to replace space with blank and then parse the data into cxml.
Happy coding...