Werner Lemberg
144d10873d
Add comment that we don't use VORG table.
2017-02-06 07:54:59 +01:00
Werner Lemberg
1dee4bf9f7
[autofit] Use better blue zone characters for lowercase latin.
...
The number of lowercase characters for computing the top flat blue
zone value was too small (in most cases only `x' and `z'). If one
of the two characters has a large serif, say, it can happen that
FreeType must select between two different values, having a 50%
chance to use the wrong one. As a result, rendering at larger PPEM
values could yield uneven lowercase glyph heights.
Problem reported by Christoph Koeberlin <christoph@koe.berlin>.
* src/autofit/afblue.dat (AF_BLUE_STRING_LATIN_SMALL): Replaced
with...
(AF_BLUE_STRING_LATIN_SMALL_TOP, AF_BLUE_STRING_LATIN_SMALL_BOTTOM):
... New, extended sets.
(AF_BLUE_STRINGSET_LATN): Updated.
* src/autofit/afblue.c, scr/autofit/afblue.h: Regenerated.
2017-02-05 08:33:10 +01:00
Werner Lemberg
a18f5e1002
Typo.
2017-02-04 20:33:53 +01:00
Werner Lemberg
1c513fbb88
Make `freetype-config' a wrapper of `pkg-config' if possible.
...
Based on ideas taken from
http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-multilib.patch
http://pkgs.fedoraproject.org/cgit/rpms/freetype.git/tree/freetype-2.5.3-freetype-config-prefix.patch
* builds/unix/freetype-config.in: Rewritten. Use `pkg-config' to
set output variables if program is available.
* docs/CHANGES, docs/freetype-config.1: Updated.
2017-02-04 20:30:40 +01:00
Werner Lemberg
790428905d
* builds/unix/unix-def.in (freetype-config): Fix permissions.
2017-02-04 16:08:08 +01:00
Werner Lemberg
68a738db83
Comments.
2017-02-03 21:32:21 +01:00
Werner Lemberg
0a1169f7c3
* src/autofit/afglobal.c (af_face_globals_free): Erase useless code.
2017-02-03 19:38:20 +01:00
Werner Lemberg
5a7f2ff520
* include/freetype/ftgasp.h (FT_GASP_SYMMETRIC_GRIDFIT): Fix value.
...
Reported by Behdad.
2017-02-03 08:31:18 +01:00
Werner Lemberg
1dc8cc3303
Minor documentation improvements.
2017-02-02 21:51:07 +01:00
Werner Lemberg
e6699596af
[truetype] Fix MVAR post-action handling.
...
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=509
* src/truetype/ttobjs.c (tt_size_reset): Do nothing for CFF2. This
is important to make `tt_size_reset_iterator' (called in
`tt_apply_mvar') always work.
2017-02-02 11:38:04 +01:00
Werner Lemberg
dadc50a467
Make compilation with FT_CONFIG_OPTION_PIC work again.
...
All code committed here is guarded with `FT_CONFIG_OPTION_PIC'.
* include/freetype/internal/services/svmetric.h
(FT_DEFINE_SERVICE_METRICSVARIATIONSREC): Remove trailing semicolon.
* src/autofit/aflatin.c (af_latin_hints_compute_edges,
af_latin_hint_edges): Provide `globals' variable.
* src/autofit/afloader.c (af_loader_load_glyph): Remove shadowing
variable.
* src/autofit/afmodule.c (AF_SCRIPT_CLASSES_GET,
AF_STYLE_CLASSES_GET): Redefine.
* src/autofit/aftypes.h (AF_DEFINE_WRITING_SYSTEM_CLASS): Fix typo.
* src/cff/cffparse.c (CFF_FIELD_BLEND): Provide it.
* src/cff/cffpic.h (CffModulePIC): Fix typo.
2017-02-02 07:13:29 +01:00
Alexei Podtelezhnikov
a3754d6626
Comment.
2017-02-01 22:36:16 -05:00
Alexei Podtelezhnikov
2ca5b07d4f
* src/smooth/ftgrays.c (gray_render_scanline): Improve code.
2017-01-31 23:13:50 -05:00
Werner Lemberg
fa437d8d3c
[cff] Provide metrics variation service interface ( #50196 ).
...
Only now I've got an OTF with an HVAR table for testing...
The code in `ftmm.c' uses `FT_FACE_LOOKUP_SERVICE' to get the
metrics variations interface. However, this didn't work with
`FT_FACE_FIND_GLOBAL_SERVICE' used in `sfnt_init_face'.
* src/cff/cffdrivr.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
(cff_hadvance_adjust, cff_metrics_adjust): Wrapper functions for
metric service functions from the `truetype' module.
(cff_service_metrics_variations): New service.
(cff_services): Updated.
* src/cff/cffpic.h (CFF_SERVICE_METRICS_VAR_GET): New macro.
[FT_CONFIG_OPTION_PIC]: Synchronize code.
* src/sfnt/sfobjs.c (sfnt_init_face): Replace call to
FT_FACE_FIND_GLOBAL_SERVICE with `ft_module_get_service' to always
load the service from the `truetype' module.
2017-01-31 23:06:38 +01:00
Werner Lemberg
4058939cb1
Add framework to support services with 9 functions.
...
* include/freetype/internal/ftserv.h (FT_DEFINE_SERVICEDESCREC9):
New macro.
2017-01-31 19:11:56 +01:00
Werner Lemberg
1e55060109
[base] Fix error handing in MM functions.
...
* src/base/ftmm.c (FT_Set_Var_Design_Coordinates,
FT_Set_MM_Blend_Coordinates, FT_Set_Var_Blend_Coordinates):
Implement it.
2017-01-31 18:47:10 +01:00
Werner Lemberg
e80e4d811a
[truetype] Fix sanity check for `gvar' table ( #50184 ).
...
* src/truetype/ttgxvar.c (ft_var_load_gvar): There might be missing
variation data for some glyphs.
2017-01-31 08:32:07 +01:00
Werner Lemberg
31f8055390
[autofit] Avoid uninitialized jumps ( #50191 ).
...
* src/autofit/afcjk.c (af_cjk_metrics_check_digits),
src/autofit/aflatin.c (af_latin_metrics_check_digits): Initialize
`advance'.
2017-01-31 08:10:04 +01:00
Werner Lemberg
9db55ad1af
Typo.
2017-01-30 07:35:06 +01:00
Werner Lemberg
1c19b54999
freetype.h: Improve Unicode Variation Sequence documentation.
2017-01-28 11:39:51 +01:00
Werner Lemberg
464b16ba46
s/GB2312/PRC/.
...
* include/freetype/freetype.h (FT_ENCODING_PRC): New enum value.
(FT_ENCODING_GB2312): Deprecated.
* include/freetype/ttnameid.h (TT_MS_ID_PRC): New macro.
(TT_MS_ID_GB2312): Deprecated.
* src/sfnt/sfobjs.c (sfnt_find_encoding): Updated.
* docs/CHANGES: Updated.
2017-01-27 08:45:46 +01:00
Werner Lemberg
f4253366f1
[base] Add `FT_Get_Sfnt_LangTag' function.
...
* include/freetype/ftsnames.h (FT_SfntLangTag): New structure.
(FT_Get_Sfnt_LangTag): New declaration.
* src/base/ftsnames.c (FT_Get_Sfnt_LangTag): New funtion.
* docs/CHANGES: Updated.
2017-01-27 00:06:52 +01:00
Werner Lemberg
939df42072
[sfnt] Support `name' table format 1.
...
* include/freetype/internal/tttypes.h (TT_LangTagRec): New
structure.
(TT_NameTableRec): Add fields `numLangTagRecords' and `langTags'.
* src/sfnt/ttload.c (tt_face_load_name): Add support for language
tags.
Reduce array size of name strings in case of invalid entries.
(tt_face_free_name): Updated.
* docs/CHANGES: Updated.
2017-01-26 21:41:38 +01:00
Werner Lemberg
f4e5696643
[sfnt] s/TT_NameEntry/TT_Name/.
...
* include/freetype/internal/tttypes.h (TT_NameEntryRec): Renamed
to...
(TT_NameRec): This.
(TT_NameTableRec): Updated.
* src/base/ftsnames.c (FT_Get_Sfnt_Name): Updated.
* src/sfnt/sfdriver.c (sfnt_get_ps_name): Updated.
* src/sfnt/sfobjs.c (tt_name_entry_ascii_from_utf16,
tt_name_entry_ascii_from_other): Renamed to...
(tt_name_ascii_from_utf16, tt_name_entry_ascii_from_other): This,
respectively.
(TT_NameEntry_ConvertFunc): Renamed to...
(TT_Name_ConvertFunc): This.
(tt_face_get_name): Updated.
* src/sfnt/ttload.c (tt_face_load_name, tt_face_free_names):
Updated.
2017-01-25 15:08:41 +01:00
Werner Lemberg
d66c3645fc
Minor: Use `FT_ERR' macro.
2017-01-25 12:53:06 +01:00
Alexei Podtelezhnikov
983fb0df5a
Typos.
2017-01-24 23:56:59 -05:00
Werner Lemberg
143971202a
[sfnt] Fix Postscript name service for symbol fonts.
...
* src/sfnt/sfdriver.c (sfnt_get_ps_name): Accept PID/EID=3/0
entries also.
2017-01-24 20:48:50 +01:00
Werner Lemberg
141f0ea5ab
[truetype] For OpenType 1.7: s/preferred/typographic/ (sub)family.
...
* include/freetype/ftsnames.h
(FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_FAMILY,
FT_PARAM_TAG_IGNORE_TYPOGRAPHIC_SUBFAMILY): New macros.
(FT_PARAM_TAG_IGNORE_PREFERRED_FAMILY,
FT_PARAM_TAG_IGNORE_PREFERRED_SUBFAMILY): Deprecated.
* include/freetype/ttnameid.h (TT_NAME_ID_TYPOGRAPHIC_FAMILY,
TT_NAME_ID_TYPOGRAPHIC_SUBFAMILY): New macros.
(TT_NAME_ID_PREFERRED_FAMILY, TT_NAME_ID_PREFERRED_SUBFAMILY):
Deprecated.
* src/sfnt/sfobjs.c (sfnt_load_face): Updated.
* docs/CHANGES: Updated.
2017-01-24 17:00:36 +01:00
Werner Lemberg
693f56ffcd
[base] Add `FT_Set_Default_Properties' ( #49187 ).
...
* include/freetype/ftmodapi.h: Add declaration.
* src/base/ftinit.c (ft_set_default_properties): Renamed to...
(FT_Set_Default_Properties): ... this.
(FT_Init_FreeType): Updated.
* docs/CHANGES: Updated.
2017-01-23 12:53:18 +01:00
Werner Lemberg
f502092bcd
[truetype] Minor updates for OpenType 1.8.1.
...
* src/truetype/ttgxvar.h (GX_MVarTable): `axisCount' has been
removed frem the specification; it is now reserved.
* src/truetype/ttgxvar.c (ft_var_load_mvar): Updated.
(GX_FVar_Head): Remove `countSizePairs'; the corresponding data
field in the `MVAR' table is now reserved.
(fvar_fields): Updated.
2017-01-23 11:47:40 +01:00
Werner Lemberg
79d52b9a8d
[truetype] Avoid segfault for invalid variation data.
...
* src/truetype/ttgxvar.c (ft_var_load_item_variation_store): Assure
`itemCount' is not zero.
Reported as
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=441
2017-01-23 07:43:56 +01:00
Alexei Podtelezhnikov
15c6e8d6c5
Typos.
2017-01-22 23:09:05 -05:00
Werner Lemberg
43061d6a93
* src/truetype/ttinterp.c (TT_RunIns): Adjust loop detector limits.
2017-01-20 10:16:38 +01:00
Alexei Podtelezhnikov
a32270ae0e
Typos.
2017-01-19 23:01:44 -05:00
Alexei Podtelezhnikov
236bbdbef9
Typos.
2017-01-18 23:12:31 -05:00
Alexei Podtelezhnikov
ca472220a4
Typos.
2017-01-17 23:45:08 -05:00
Werner Lemberg
8013d89f7f
ftsnames.h, ttnameid.h, tttables.h: Revise documentation.
...
Show more macros in the reference: TT_MAC_LANGID_XXX, TT_MS_LANGID_XXX,
TT_NAME_ID_XXX, TT_UCR_XXX.
This commit is viewed best with
git diff --color-words='[^*/ ]+'
2017-01-17 12:39:53 +01:00
Werner Lemberg
ba6f3e18d0
* include/freetype/ttnameid.h: Updated to OpenType 1.8.1.
...
(TT_APPLE_ID_FULL_UNICODE): New macro.
(TT_MS_LANGID_BOSNIAN_BOSNIA_HERZ_CYRILLIC,
TT_MS_LANGID_UPPER_SORBIAN_GERMANY,
TT_MS_LANGID_LOWER_SORBIAN_GERMANY, TT_MS_LANGID_IRISH_IRELAND,
TT_MS_LANGID_INUKTITUT_CANADA_LATIN, TT_MS_LANGID_BASHKIR_RUSSIA,
TT_MS_LANGID_LUXEMBOURGISH_LUXEMBOURG,
TT_MS_LANGID_GREENLANDIC_GREENLAND, TT_MS_LANGID_MAPUDUNGUN_CHILE,
TT_MS_LANGID_MOHAWK_MOHAWK, TT_MS_LANGID_BRETON_FRANCE,
TT_MS_LANGID_OCCITAN_FRANCE, TT_MS_LANGID_CORSICAN_FRANCE,
TT_MS_LANGID_ALSATIAN_FRANCE, TT_MS_LANGID_YAKUT_RUSSIA,
TT_MS_LANGID_KICHE_GUATEMALA, TT_MS_LANGID_KINYARWANDA_RWANDA,
TT_MS_LANGID_WOLOF_SENEGAL, TT_MS_LANGID_DARI_AFGHANISTAN): New
macros.
(TT_MS_LANGID_SERBIAN_BOSNIA_HERZ_CYRILLIC): Fix value.
(TT_MS_LANGID_GERMAN_LIECHTENSTEIN, TT_MS_LANGID_CATALAN_CATALAN,
TT_MS_LANGID_CHINESE_MACAO, TT_MS_LANGID_SPANISH_SPAIN_MODERN_SORT,
TT_MS_LANGID_KOREAN_KOREA, TT_MS_LANGID_ROMANSH_SWITZERLAND,
TT_MS_LANGID_SLOVENIAN_SLOVENIA, TT_MS_LANGID_BASQUE_BASQUE,
TT_MS_LANGID_SETSWANA_SOUTH_AFRICA,
TT_MS_LANGID_ISIXHOSA_SOUTH_AFRICA,
TT_MS_LANGID_ISIZULU_SOUTH_AFRICA, TT_MS_LANGID_KAZAKH_KAZAKHSTAN,
TT_MS_LANGID_KYRGYZ_KYRGYZSTAN, TT_MS_LANGID_KISWAHILI_KENYA,
TT_MS_LANGID_TATAR_RUSSIA, TT_MS_LANGID_ODIA_INDIA,
TT_MS_LANGID_MONGOLIAN_PRC, TT_MS_LANGID_TIBETAN_PRC,
TT_MS_LANGID_WELSH_UNITED_KINGDOM, TT_MS_LANGID_GALICIAN_GALICIAN,
TT_MS_LANGID_SINHALA_SRI_LANKA, TT_MS_LANGID_TAMAZIGHT_ALGERIA,
TT_MS_LANGID_SESOTHO_SA_LEBOA_SOUTH_AFRICA, TT_MS_LANGID_YI_PRC,
TT_MS_LANGID_UIGHUR_PRC): New aliases.
Remove commented out code.
(TT_NAME_ID_LIGHT_BACKGROUND, TT_NAME_ID_DARK_BACKGROUND,
TT_NAME_ID_VARIATIONS_PREFIX): New macros.
(HAVE_LIMIT_ON_IDENTS): Remove macro (which was useless since many
years), use guarded long macros by default and define short versions
as aliases for the long ones.
2017-01-17 11:50:09 +01:00
Werner Lemberg
66725768cd
ftmm.h: Revise documentation.
...
This commit is viewed best with
git diff --color-words='[^*/ ]+'
2017-01-15 16:17:26 +01:00
Werner Lemberg
8665e3f4af
freetype.h: Revise documentation.
...
This commit is viewed best with
git diff --color-words='[^*/ ]+'
2017-01-15 15:23:06 +01:00
Werner Lemberg
322b3be514
* src/truetype/ttgxvar.c (tt_apply_var): Handle underline parameters
...
also.
2017-01-15 13:57:25 +01:00
Werner Lemberg
eae29d9155
Minor documentation updates.
2017-01-13 10:33:09 +01:00
Werner Lemberg
c529885b0b
* src/base/ftobjs.c (ft_open_face_internal): Improve tracing.
2017-01-12 08:42:55 +01:00
Werner Lemberg
56645f8a8b
Fix documentation of `FT_Get_Sfnt_Name'.
...
Problem reported by 張俊芝 <418092625@qq.com>.
2017-01-11 16:25:52 +01:00
Werner Lemberg
cb93704796
Document MVAR handling.
2017-01-11 14:21:47 +01:00
Werner Lemberg
723aafb5e3
[truetype] Actually use metrics variation service.
...
* src/base/ftmm.c: Include FT_SERVICE_METRICS_VARIATIONS_H.
(ft_face_get_mvar_service): New auxiliary function to look up
metrics variation service.
(FT_Set_Var_Design_Coordinates, FT_Set_MM_Blend_Coordinates,
FT_Set_Var_Blend_Coordinates): Call metrics variation service.
* src/truetype/ttobjs.c (tt_face_init): Use metrics variations for
named instances.
2017-01-11 14:21:26 +01:00
Werner Lemberg
d718ac4ead
[truetype] Provide metrics variation service.
...
* include/freetype/internal/services/svmetric.h
(FT_Metrics_Adjust_Func): Reduce number of necessary parameters.
* src/truetype/ttgxvar.c: Include FT_LIST_H.
(tt_size_reset_iterator): New auxiliary function for...
(tt_apply_var): New function.
* src/truetype/ttgxvar.h: Updated.
* src/truetype/ttdriver.c (tt_service_metrics_variations): Add
`tt_apply_mvar'.
* include/freetype/internal/ftserv.h (FT_ServiceCache): Add metrics
variation service.
2017-01-11 14:12:34 +01:00
Werner Lemberg
07ee1d250c
[truetype] Parse `MVAR' table.
...
* src/truetype/ttgxvar.h (MVAR_TAG_XXX): New macros for MVAR tags.
(GX_Value, GX_MVarTable): New structures.
(GX_Blend): Add it.
* src/truetype/ttgxvar.c (GX_VALUE_SIZE, GX_VALUE_CASE,
GX_GASP_CASE): New macros.
(ft_var_get_value_pointer): New auxiliary function to get a pointer
to a value from various SFNT tables already stored in `TT_Face'.
(ft_var_load_mvar): New function.
(TT_Get_MM_Var): Call it.
(tt_done_blend): Updated.
2017-01-11 12:50:51 +01:00
Werner Lemberg
8ab08cff63
[truetype] More preparations for MVAR support.
...
* src/truetype/ttobjs.c (tt_size_reset): Add argument to make
function only recompute ascender, descender, and height.
* src/truetype/ttobjs.h: Updated.
* src/truetype/ttdriver.c (tt_size_select, tt_size_request):
Updated.
2017-01-11 10:05:27 +01:00
Werner Lemberg
7ccca6aec1
[pcf] Disable long family names by default.
...
* include/freetype/config/ftoption.h
(PCF_CONFIG_OPTION_LONG_FAMILY_NAMES): Comment out.
2017-01-09 19:54:44 +01:00