Go to file
Werner Lemberg 72f5ff5bbb [autofit] Introduce `writing systems'.
This patch adds a new top level to the auto-hinter's script class
hierarchy.  It defines `writing systems' which can contain multiple
scripts.

For example, the `latin' writing system (in file `aflatin.c') is
able to support scripts like Latin, Cyrillic, Armenian, etc., which
can be handled similarly.

Scripts are now named using four-letter OpenType tags.

* src/autofit/aftypes.h (AF_ScriptClassRec): Move relevant members
to...
(AF_WritingSystemClassRec): This new structure.  It holds pointers
to functions which can be shared among related scripts.
(AF_WritingSystem): New enumeration.
(AF_Script): Revised values using four-letter tags.
(AF_DEFINE_WRITING_SYSTEM_CLASS): New macro.
(AF_DEFINE_SCRIPT_CLASS): Updated.

* src/autofit/afglobal.c (af_writing_system_classes): New global,
constant array.
(af_script_classes): Updated.
(af_face_globals_free): Updated.
Remove assertion.
(af_face_globals_get_metrics): Updated.

* src/autofit/afglobal.h (AF_SCRIPT_FALLBACK)
[!AF_CONFIG_OPTION_CJK]: Handle this case.

* src/autofit/afloader.c (af_loader_load_g, af_loader_load_glyph):
Updated.

* src/autofit/afpic.c (autofit_module_class_pic_init): Updated;
initialize structures for both writing systems and scripts.
* src/autofit/afpic.h: Updated.
(AF_WRITING_SYSTEM_CLASSES_GET): New macro.

* src/autofit/afcjk.c (af_cjk_writing_system_class): New writing
system.
(af_cjk_uniranges): Renamed to...
(af_hani_uniranges): This.
(af_cjk_script_class): Reduced and renamed to...
(af_hani_script_class): This.
* src/autofit/afcjk.h: Updated.

* src/autofit/afdummy.c (af_dummy_writing_system_class): New writing
system.
(af_dummy_script_class): Reduced and renamed to...
(af_dflt_script_class): This.
* src/autofit/afdummy.h: Updated.

* src/autofit/afindic.c (af_indic_writing_system_class): New writing
system.
(af_indic_uniranges): Renamed to...
(af_deva_uniranges): This.
(af_indic_script_class): Reduced and renamed to...
(af_deva_script_class): This.
* src/autofit/afcjk.h: Updated.

* src/autofit/aflatin.c (af_latin_writing_system_class): New writing
system.
(af_latin_uniranges): Renamed to...
(af_latn_uniranges): This.
(af_latin_script_class): Reduced and renamed to...
(af_latn_script_class): This.
* src/autofit/aflatin.h: Updated.

* src/autofit/aflatin2.c (af_latin2_writing_system_class): New
writing system.
(af_latin2_uniranges): Renamed to...
(af_ltn2_uniranges): This.
Synchronize ranges with `latin'.
(af_latin2_script_class): Reduced and renamed to...
(af_ltn2_script_class): This.
* src/autofit/aflatin2.h: Updated.
2013-07-31 22:57:01 +02:00
builds Minor. 2013-07-31 22:55:50 +02:00
devel * Version 2.5.0.1 released. 2013-06-19 23:27:47 +02:00
docs * docs/INSTALL.GNU: Updated. 2013-07-20 10:48:37 +02:00
include Add FT_FACE_FLAG_COLOR and FT_HAS_COLOR. 2013-07-25 21:53:18 +02:00
objs Ignore *.o and *.a files. 2011-03-20 18:28:31 +01:00
src [autofit] Introduce `writing systems'. 2013-07-31 22:57:01 +02:00
.gitignore We no longer use CVS. 2010-01-23 16:19:33 +01:00
.mailmap Add .mailmap file. 2012-12-08 12:30:37 +01:00
ChangeLog [autofit] Introduce `writing systems'. 2013-07-31 22:57:01 +02:00
ChangeLog.20 Add one more example to the documentation of FT_Glyph_To_Bitmap. 2008-08-06 09:09:41 +00:00
ChangeLog.21 Formatting, copyright years. 2008-07-27 06:27:21 +00:00
ChangeLog.22 Formatting, copyright years. 2008-07-27 06:27:21 +00:00
ChangeLog.23 Call it fixed-point. 2013-01-12 19:17:05 -05:00
Jamfile * Version 2.5.0 released. 2013-06-19 10:23:36 +02:00
Jamrules Add license. 2005-06-04 23:04:30 +00:00
Makefile * Makefile, *.mk: Use `?=' where appropriate. 2006-02-01 07:52:11 +00:00
README * Version 2.5.0 released. 2013-06-19 10:23:36 +02:00
README.git Typo. 2010-07-12 21:25:01 +02:00
autogen.sh Remove trailing whitespace. 2013-01-24 13:33:06 +01:00
configure * configure: Use egrep, not grep. 2013-03-31 09:04:38 +02:00
modules.cfg Add new error code FT_Err_Missing_Module. 2011-11-26 13:38:26 +01:00
version.sed Put version information into the configure script. Reported by Paul 2006-05-08 07:10:29 +00:00
vms_make.com typo 2007-02-12 14:35:15 +00:00

README

  FreeType 2.5.0
  ==============

  Homepage: http://www.freetype.org

  FreeType is a freely available software library to render fonts.

  It  is  written  in  C,  designed to  be  small,  efficient,  highly
  customizable, and  portable while capable of  producing high-quality
  output  (glyph  images) of  most  vector  and bitmap  font  formats.

  Please   read   the  docs/CHANGES   file,   it  contains   IMPORTANT
  INFORMATION.

  Read the  files `docs/INSTALL*'  for installation  instructions; see
  the file `docs/LICENSE.TXT' for the available licenses.

  The FreeType 2 API reference is located in `docs/reference'; use the
  file   `ft2-doc.html'   as   the   top  entry   point.    Additional
  documentation is available as a separate package from our sites.  Go
  to

    http://download.savannah.gnu.org/releases/freetype/

  and download one of the following files.

    freetype-doc-2.5.0.tar.bz2
    freetype-doc-2.5.0.tar.gz
    ftdoc250.zip

  To view the documentation online, go to

    http://www.freetype.org/freetype2/documentation.html


  Mailing Lists
  =============

  The preferred way  of communication with the FreeType  team is using
  e-mail lists.

    general use and discussion:      freetype@nongnu.org
    engine internals, porting, etc.: freetype-devel@nongnu.org
    announcements:                   freetype-announce@nongnu.org

  The lists are moderated; see

    http://www.freetype.org/contact.html

  how to subscribe.


  Bugs
  ====

  Please report bugs  by e-mail to `freetype-devel@nongnu.org'.  Don't
  forget to  send a  detailed explanation of  the problem --  there is
  nothing  worse than  receiving a  terse message  that only  says `it
  doesn't work'.

  Alternatively, you may submit a bug report at

    https://savannah.nongnu.org/bugs/?group=freetype


  Enjoy!


    The FreeType Team

----------------------------------------------------------------------

Copyright 2006-2013 by
David Turner, Robert Wilhelm, and Werner Lemberg.

This  file is  part of  the FreeType  project, and  may only  be used,
modified,  and distributed  under the  terms of  the  FreeType project
license,  LICENSE.TXT.  By  continuing to  use, modify,  or distribute
this file you  indicate that you have read  the license and understand
and accept it fully.


--- end of README ---