[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[freetype2-demos] master 28cce34: [ftgrid] Add support for third TrueTyp
From: |
Werner LEMBERG |
Subject: |
[freetype2-demos] master 28cce34: [ftgrid] Add support for third TrueType interpreter version. |
Date: |
Sat, 21 May 2016 20:45:09 +0000 (UTC) |
branch: master
commit 28cce34de5beacd2b02536e51ef48abb50cfaa93
Author: Werner Lemberg <address@hidden>
Commit: Werner Lemberg <address@hidden>
[ftgrid] Add support for third TrueType interpreter version.
* src/ftgrid.c (GridStatusRec): Replace `tt_interpreter_version'
with `tt_interpreter_versions' array.
Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
(event_tt_interpreter_version_change): Updated.
(main): Expand check for alternative TrueType interpreter versions.
---
ChangeLog | 10 ++++++++++
src/ftgrid.c | 51 +++++++++++++++++++++++++++++++++++----------------
2 files changed, 45 insertions(+), 16 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 3a270f4..be0cdca 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,15 @@
2016-05-21 Werner Lemberg <address@hidden>
+ [ftgrid] Add support for third TrueType interpreter version.
+
+ * src/ftgrid.c (GridStatusRec): Replace `tt_interpreter_version'
+ with `tt_interpreter_versions' array.
+ Add `num_tt_interpreter_versions' and `tt_interpreter_version_idx'.
+ (event_tt_interpreter_version_change): Updated.
+ (main): Expand check for alternative TrueType interpreter versions.
+
+2016-05-21 Werner Lemberg <address@hidden>
+
[ftdiff] Add support for third TrueType interpreter version.
* src/ftdiff.c (ColumnStateRec): Replace `tt_interpreter_version'
diff --git a/src/ftgrid.c b/src/ftgrid.c
index 8916b79..298c9fa 100644
--- a/src/ftgrid.c
+++ b/src/ftgrid.c
@@ -138,7 +138,9 @@
FT_Stroker stroker;
unsigned int cff_hinting_engine;
- unsigned int tt_interpreter_version;
+ unsigned int tt_interpreter_versions[3];
+ int num_tt_interpreter_versions;
+ int tt_interpreter_version_idx;
FT_Bool warping;
FT_MM_Var* mm;
@@ -1032,18 +1034,14 @@
static void
event_tt_interpreter_version_change( void )
{
- FT_UInt new_interpreter_version;
-
-
- if ( status.tt_interpreter_version == TT_INTERPRETER_VERSION_35 )
- new_interpreter_version = TT_INTERPRETER_VERSION_38;
- else
- new_interpreter_version = TT_INTERPRETER_VERSION_35;
+ status.tt_interpreter_version_idx += 1;
+ status.tt_interpreter_version_idx %= status.num_tt_interpreter_versions;
error = FT_Property_Set( handle->library,
"truetype",
"interpreter-version",
- &new_interpreter_version );
+ &status.tt_interpreter_versions[
+ status.tt_interpreter_version_idx] );
if ( !error )
{
@@ -1051,12 +1049,12 @@
/* lazy to walk over all loaded fonts to check whether they */
/* are of type TTF, then unloading them explicitly. */
FTC_Manager_Reset( handle->cache_manager );
- status.tt_interpreter_version = new_interpreter_version;
}
- sprintf( status.header_buffer, "TrueType engine changed to version %s",
- status.tt_interpreter_version == TT_INTERPRETER_VERSION_35
- ? "35" : "38" );
+ sprintf( status.header_buffer,
+ "TrueType engine changed to version %d",
+ status.tt_interpreter_versions[
+ status.tt_interpreter_version_idx]);
status.header = (const char *)status.header_buffer;
}
@@ -1890,8 +1888,12 @@
main( int argc,
char* argv[] )
{
- grEvent event;
- int n;
+ grEvent event;
+ int n;
+ unsigned int dflt_tt_interpreter_version;
+ unsigned int versions[3] = { TT_INTERPRETER_VERSION_35,
+ TT_INTERPRETER_VERSION_38,
+ TT_INTERPRETER_VERSION_40 };
/* initialize engine */
@@ -1904,9 +1906,26 @@
FT_Property_Get( handle->library,
"cff",
"hinting-engine", &status.cff_hinting_engine );
+
+ /* collect all available versions, then set again the default */
FT_Property_Get( handle->library,
"truetype",
- "interpreter-version", &status.tt_interpreter_version );
+ "interpreter-version", &dflt_tt_interpreter_version );
+ for ( n = 0; n < 3; n++ )
+ {
+ error = FT_Property_Set( handle->library,
+ "truetype",
+ "interpreter-version", &versions[n] );
+ if ( !error )
+ status.tt_interpreter_versions[
+ status.num_tt_interpreter_versions++] = versions[n];
+ if ( versions[n] == dflt_tt_interpreter_version )
+ status.tt_interpreter_version_idx = n;
+ }
+ FT_Property_Set( handle->library,
+ "truetype",
+ "interpreter-version", &dflt_tt_interpreter_version );
+
FT_Property_Get( handle->library,
"autofitter",
"warping", &status.warping );
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [freetype2-demos] master 28cce34: [ftgrid] Add support for third TrueType interpreter version.,
Werner LEMBERG <=