Subject: new mechanism for translating ucs to Adobe glyph name
From: Tomas Frydrych (tomas@frydrych.uklinux.net)
Date: Mon Feb 05 2001 - 03:13:20 CST
> Vlad:
>  As for non-standard glyph names by MS, I think we can fix these fonts to use
> adobe glyph names or as you propose provide 'fontfilename.u2g' or similar. So
> I also don't see any problem here.
Fixing such fonts is not really viable, I think, we want a mechanism 
that even a not very computer literate user could handle; we could 
provide some ready-made u2g files with the fonts, e.g. ones for use 
with MS ttf fonts. All that would be required of the user would be to 
create a symlink to a suitable file with the name coresponding to 
his or her font. In additon we would provide a simple to use utility 
(for the more adventureous) to generate the u2g files from fonts.
There would be another BIG advantage to using unicode-to-glyph-
name translation files: we could get rid of the built-in encoding 
tables alltogether (they take lot of space are rarely used). Instead 
we would generate u2g files for the symbol font, for the dingbats, 
and for the standard Adobe encoding. As a result we could also get 
rid of the unsatisfactory code in UnixFont::getMetricsData that 
treats all fonts encoded with AdobeFontspecific as symbols, as 
well as remove the similary questionable fix for the Dingbats in the 
same place. We would further provide two versions of the Adobe 
standard encoding table; a short version that inplements the 
standard 255 characters and a complete version; we would load the 
latter only if AW runs under a uft-8 locale, 8859-1 locale would use 
the short table; non-8859-1 8-bit locales do not use any table at all, 
but rely on the fonts being sorted in the locale order. This would 
save us some 16K+ of AW footprint in non-unicode locales.
Futher, we could delete this dynamically created table as soon as 
UnixFont::getMetricData is done, since there we only need it to 
generate the width lookup table. We would then modify the 
PSFont::getMetricData that would create the table fresh for 
printing, because this is the only other time we need to do ucs<-
>name translation.
Tomas
This archive was generated by hypermail 2b25 : Mon Feb 05 2001 - 03:19:21 CST