summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2017-09-09 01:28:24 +0900
committersuzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>2017-09-09 01:28:24 +0900
commit3ef59e59e0d59030b1a8949a7776e14b5ae91cc6 (patch)
tree58320fd62744bf9e4693a393e994c5d003401739
parent71f661804e88db5b12cc1a143e03ef53b5eab894 (diff)
downloadfreetype2-3ef59e59e0d59030b1a8949a7776e14b5ae91cc6.tar.gz
[base] Remove a check for resource ID in the resource fork driver.
LastResort.dfont has a marginal resource ID 0xFFFF for sfnt resource. Inside Macintosh: More Macintosh Toolbox, `Resource IDs' (1-46), tells that some IDs are reserved and should not be used. FreeType2 just uses resource ID to sort the fragmented resource. To accept the marginal fonts, the checking is removed. * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Remove res_id validity check, fix a trace message format.
-rw-r--r--ChangeLog13
-rw-r--r--src/base/ftrfork.c10
2 files changed, 21 insertions, 2 deletions
diff --git a/ChangeLog b/ChangeLog
index 3b2620509..cdeb6b604 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,18 @@
2017-09-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+ [base] Remove a check for resource ID in the resource fork driver.
+
+ LastResort.dfont has a marginal resource ID 0xFFFF for sfnt
+ resource. Inside Macintosh: More Macintosh Toolbox, `Resource IDs'
+ (1-46), tells that some IDs are reserved and should not be used.
+ FreeType2 just uses resource ID to sort the fragmented resource.
+ To accept the marginal fonts, the checking is removed.
+
+ * src/base/ftrfork.c (FT_Raccess_Get_DataOffsets): Remove res_id
+ validity check, fix a trace message format.
+
+2017-09-08 suzuki toshiya <mpsuzuki@hiroshima-u.ac.jp>
+
[sfnt, truetype] Register the tags for marginal fonts.
The first 32bit of standard TrueType variants is 0x00010000,
diff --git a/src/base/ftrfork.c b/src/base/ftrfork.c
index f7b81375d..f5ad2874d 100644
--- a/src/base/ftrfork.c
+++ b/src/base/ftrfork.c
@@ -271,7 +271,13 @@
if ( FT_STREAM_SKIP( 4 ) ) /* mbz */
goto Exit;
- if ( ref[j].res_id < 0 || temp < 0 )
+ /*
+ * According to Inside Macintosh: More Macintosh Toolbox,
+ * "Resource IDs" (1-46), there are some reserved IDs.
+ * However, FreeType2 is not a font synthesizer, no need
+ * to check the acceptable resource ID.
+ */
+ if ( temp < 0 )
{
error = FT_THROW( Invalid_Table );
goto Exit;
@@ -281,7 +287,7 @@
FT_TRACE3(( " [%d]:"
" resource_id=0x%04x, offset=0x%08x\n",
- j, ref[j].res_id, ref[j].offset ));
+ j, (FT_UShort)ref[j].res_id, ref[j].offset ));
}
if ( sort_by_res_id )