summarylogtreecommitdiffstats
path: root/0001-let-freetype-handle-ISO-8859-1-mapping.patch
blob: 24b7e587f3517ca845861f7cc787923f19fc9dbf (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
From ae7f143f7b8dd14fd720061922a5a5e03fa60218 Mon Sep 17 00:00:00 2001
From: Ryan Farley <ryan.farley@gmx.com>
Date: Tue, 20 Aug 2019 03:16:22 -0500
Subject: [PATCH app/fonttosfnt 1/2] let freetype handle ISO-8859-1 mapping

https://www.freetype.org/freetype2/docs/reference/ft2-base_interface.html#ft_encoding
indicates that ISO-8859-1 is automatically mapped to Unicode for BDF and
PCF fonts -- trying to use FT_Select_Charmap() with FT_ENCODING_NONE
leads to an error for such fonts.
---
 read.c | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

diff --git a/read.c b/read.c
index 632c7e7..5e80cc5 100644
--- a/read.c
+++ b/read.c
@@ -79,10 +79,13 @@ readFile(char *filename, FontPtr font)
         return -1;
     }
 
+    /* FreeType will handle Unicode and automatically map ISO-8859-1 to
+     * Unicode for us -- everything else needs a mapping */
     encoding_name = faceEncoding(face);
     if(encoding_name == NULL) {
         symbol = 1;
-    } else if(strcasecmp(encoding_name, "iso10646-1") != 0) {
+    } else if((strcasecmp(encoding_name, "iso10646-1") != 0) &&
+              (strcasecmp(encoding_name, "iso8859-1") != 0)) {
         if(reencode_flag)
             mapping = FontEncMapFind(encoding_name,
                                      FONT_ENCODING_UNICODE, 0, 0, NULL);
-- 
2.23.0