forked from minhngoc25a/freetype2
a0911343ee
for cmap format 4. For overlapped but sorted segments, which is previously considered unsorted, we still use binary search. * src/sfnt/ttcmap.h (struct TT_CMapRec_): Replace `unsorted' by `flags'. (TT_CMAP_FLAG_UNSORTED, TT_CMAP_FLAG_OVERLAPPED): New macros. * src/sfnt/ttcmap.c (OPT_CMAP4): Removed as it is always defined. (struct TT_CMap4Rec_): Remove `old_charcode' and `table_length'. (tt_cmap4_reset): Removed. (tt_cmap4_init): Updated accordingly. (tt_cmap4_next): Updated accordingly. Take care of overlapped segments. (tt_cmap4_validate): Make sure the subtable is large enough. Do not check glyph_ids because some fonts set the length wrongly. Also, when all segments have offset 0, glyph_ids is always invalid. It does not cause any problem so far only because the check misses equality. Distinguish between unsorted and overlapped segments. (tt_cmap4_char_map_linear, tt_cmap4_char_map_binary): New functions to do "charcode => glyph index" by linear/binary search. (tt_cmap4_char_index, tt_cmap4_char_next): Use tt_cmap4_char_map_linear and tt_cmap4_char_map_binary. (tt_face_build_cmaps): Treat the return value of validator as flags for cmap. |
||
---|---|---|
builds | ||
devel | ||
docs | ||
include | ||
objs | ||
src | ||
.cvsignore | ||
ChangeLog | ||
ChangeLog.20 | ||
ChangeLog.21 | ||
Jamfile | ||
Jamrules | ||
Makefile | ||
README | ||
README.CVS | ||
autogen.sh | ||
configure | ||
vms_make.com |
README
Special notes to Unix users =========================== Please read the file "docs/UPGRADE.UNX". It contains important information regarding the installation of FreeType on Unix systems, especially GNU based operating systems like GNU/Linux. FreeType 2's library is called `libfreetype', FreeType 1's library is called `libttf'. They are *not* compatible! FreeType 2.1.10 =============== Please read the docs/CHANGES file, it contains IMPORTANT INFORMATION. Read the files "docs/INSTALL" for installation instructions. Note that the FreeType 2 documentation is now available as a separate package from our sites. See: ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.bz2 ftp://ftp.freetype.org/freetype/freetype2/ftdocs-2.1.10.tar.gz ftp://ftp.freetype.org/freetype/freetype2/ftdoc2110.zip Bugs ==== Please report bugs by e-mail to `devel@freetype.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". Enjoy! The FreeType Team ---------------------------------------------------------------------- Copyright 2001, 2002, 2003, 2004 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 ---