new mechanism for translating ucs to Adobe glyph name


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