diff options
author | Dominik Röttsches <drott@chromium.org> | 2022-05-20 17:22:25 +0300 |
---|---|---|
committer | Dominik Röttsches <drott@chromium.org> | 2022-05-23 16:18:28 +0300 |
commit | 7838c78f53f206ac5b8e9cefde548aa81cb00cf4 (patch) | |
tree | d53d42803fcc160326a69aae0abae85ab8f2bfeb /include | |
parent | 9aa99f226279f6fae80565d346ba9f81d396bd02 (diff) | |
download | freetype2-7838c78f53f206ac5b8e9cefde548aa81cb00cf4.tar.gz |
[truetype] Support reading 32bit/16bit VarStore deltas
* include/freetype/internal/ftmmtypes.h (FT_ItemVarDelta): Define type
to be used for delta arrays, upgrade to FT_long.
* src/truetype/ttgxvar.c: Adhere to long_words bit and read either
Short/Byte pairs or Long/Short pairs, as defined by spec. For better
readability, define macro for repetitive read code.
Diffstat (limited to 'include')
-rw-r--r-- | include/freetype/internal/ftmmtypes.h | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/include/freetype/internal/ftmmtypes.h b/include/freetype/internal/ftmmtypes.h index 74706bedb..44f7e74dd 100644 --- a/include/freetype/internal/ftmmtypes.h +++ b/include/freetype/internal/ftmmtypes.h @@ -24,14 +24,16 @@ FT_BEGIN_HEADER + typedef FT_Long FT_ItemVarDelta; + typedef struct GX_ItemVarDataRec_ { - FT_UInt itemCount; /* number of delta sets per item */ - FT_UInt regionIdxCount; /* number of region indices in this data */ - FT_UInt* regionIndices; /* array of `regionCount' indices; */ - /* these index `varRegionList' */ - FT_Short* deltaSet; /* array of `itemCount' deltas */ - /* use `innerIndex' for this array */ + FT_UInt itemCount; /* number of delta sets per item */ + FT_UInt regionIdxCount; /* number of region indices */ + FT_UInt* regionIndices; /* array of `regionCount' indices; */ + /* these index `varRegionList' */ + FT_ItemVarDelta* deltaSet; /* array of `itemCount' deltas */ + /* use `innerIndex' for this array */ } GX_ItemVarDataRec, *GX_ItemVarData; |