freetype-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [ft-devel] Hebrew support to auto-hinter added


From: suzuki toshiya
Subject: Re: [ft-devel] Hebrew support to auto-hinter added
Date: Tue, 27 Aug 2013 08:32:42 +0900
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130518 Icedove/17.0.5

Consequently, I've added Hebrew support.

Great. Did you have a contact with Hebrew typographic expert?

Regards,
mpsuzuki

On 08/27/2013 04:34 AM, Werner LEMBERG wrote:

I proudly announce that the first part of the reorganization of
FreeType's auto-hinter has been finished.  It is now just a matter of
few, almost trivial lines to add support for a new script, provided
that one of the auto-hinter submodules is capable to handle it.

Consequently, I've added Hebrew support.

There is now a central file, `afblue.dat', which contains blue zone
character strings of all scripts.  To make it easier to read and
maintain the data, I've written a Perl script which converts the UTF-8
data in this file to `afblue.c' and `afblue.h' (encoded in ASCII),
using the template files `afblue.cin' and `afblue.hin', respectively.
Enumerations are used to access the data; the enumeration values
simply correspond to offsets into the array `af_blue_strings'.

However, a script (as understood by the auto-hinter) doesn't access
these strings directly.  Instead, blue strings are grouped into blue
stringsets, together with some string properties.  This makes it
possible to re-use strings, if necessary.  Script names are listed in
file `afscript.h'.  Again, enumeration values correspond to offsets
into the array `af_blue_stringsets'.

To complete the hierarchy, an auto-hinter submodule corresponds to a
`writing system'.  Obviously, a script can belong only to a single
writing system.  Writing system names are listed in file `afwrtsys.h'.

Scripts themselves are defined in the auto-hinter submodule they
belong to.  For example, the definition of Hebrew can be found at the
end of file `aflatin.c':

   AF_DEFINE_SCRIPT_CLASS(
     af_hebr_script_class,

     AF_SCRIPT_HEBR,
     AF_BLUE_STRINGSET_HEBR,
     AF_WRITING_SYSTEM_LATIN,

     af_hebr_uniranges,
     0x5DD /* ם (the Hebrew character used       */
           /*    to derive standard stem widths) */
   )

Please note that Hebrew support is not optimal yet; I have to think
how to better make the auto-hinter properly ignore the `vertical
serifs' used at the top of many glyphs while computing blue zones.


     Werner
_______________________________________________
Freetype-devel mailing list
address@hidden
https://lists.nongnu.org/mailman/listinfo/freetype-devel





reply via email to

[Prev in Thread] Current Thread [Next in Thread]