Hi,

I’m not keen on adding Yet Another configuratin option to the config
file, there are more than enough already.

I believe that if a user is advanced enough to be aware that a last
resort font can be configured, then they are also able to configure
custom fonts so as to avoid any glyph missing warning.

Moreover this last resort font is a TrueType font, which is not
supported by all output formats yet.

Both Type1 and TrueType (OpenType) fonts have a dedicated glyph for
unsupported characters. I think this is what FOP should fall back to in
case of a missing glyph.

Vincent


Glenn Adams wrote:
> Unicode does not prescribe how to render characters for which the assigned
> font(s) have no corresponding glyph(s). It does, however, make
> recommendations on how an application or system should handle this case,
> about which see Unicode 5.1 Section 5.3 Unknown and Missing Characters,
> under the sub-heading of *Interpretable but Unrenderable Characters*. See
> also the following FAQ:
> 
> http://unicode.org/faq/unsup_char.html?PHPSESSID=a05ee80b0f30ee349b9851a929e4e4e6
> 
> What FOP should be doing, rather than map an unrenderable character to '#',
> is to employ a so called Last Resort font, where each defined character is
> associated with some glyph, e.g., one that indicates the script of the
> character. In the absence of such a Last Resort font, it is customary to map
> the character to a glyph depicting an empty box.
> 
> Unicode has published such a Last Resort font see:
> 
> http://www.unicode.org/policies/lastresortfont_eula.html
> 
> A reasonable strategy for FOP might be to allow the user to specify (in the
> FOP configuration file) a font mapping to a last resort font to be used in
> such cases. The user would still have to download and install the last
> resort font on their system, due to licensing reasons.
> 
> I will post a bug to this effect, and suggesting this solution, if there is
> not already one present. Some minor modifications to FOP would be required
> to make use of the configuration information specifying a last resort font,
> and then using that font when no mapping is present in the assigned font.
> 
> Regards,
> Glenn
> 
> On Mon, Jul 19, 2010 at 11:50 PM, Eric Douglas <edoug...@blockhouse.com>wrote:
> 
>> I don't understand what unicode.org is saying if it's just referring to
>> what characters the codes should reference if they have to be in the
>> font.  Fontforge says U2610 and U2611 are not in the font.
>>
>> Fontforge is an ugly program.  It runs within Cygwin, where it displays
>> a window showing the characters in the font, but it doesn't show them
>> all and doesn't have a scrollbar..
>> I would like an easy way to view the characters in the font to see if I
>> have something available that looks like a square/checkbox.
>> I can only assume the square I'm getting is a default in FOP 0.95 for
>> all missing glyphs.
>>
>> -----Original Message-----
>> From: J.Pietschmann [mailto:j3322...@yahoo.de]
>> Sent: Saturday, July 17, 2010 11:20 AM
>> To: fop-dev@xmlgraphics.apache.org
>> Subject: Re: Font Glyph?
>>
>> On 15.07.2010 22:44, Eric Douglas wrote:
>>> Then I pass a text value of "&#x2611;" in my XML.  When the
>>> transformer uses FOP to translate the XML into output, this prints a
>> square.
>> Have a look at http://www.unicode.org/charts/charindex.html
>> U2611 is "BALLOT BOX WITH CHECK", i.e. not a square (U2610 should be a
>> square, are you sure about the entity?) If FOP couldn't find the glyph,
>> it would have printed a # instead.
>> You could use one of the font editors to check whether your font
>> actually has a glyph for the U2611 character (try
>> http://fontforge.sourceforge.net/)
>>
>>
>>> I tried replacing my fop.jar with one that I compiled from the Trunk,
>>> and instead of printing the square it printed an error message to the
>>> Java Console that the font doesn't contain the specified glyph.
>> That's mildly odd, I'd guess your method for telling FOP about your font
>> doesn't work as in Trunk.
>>
>> J.Pietschmann
>>
> 

Reply via email to