Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(76)

Side by Side Diff: third_party/ots/test/README

Issue 775893002: Updating OTS repo from https://github.com/khaledhosny/ots.git (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updating with 4800 warning fix Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/ots/test/BLACKLIST.txt ('k') | third_party/ots/test/cff_type2_charstring_test.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
(Empty)
1 ------------------------------------------------------------------------------
2 ot-sanitise - TTF/OTF font validator/transcoder
3
4 Description:
5 ot-sanitise is a program which validates and/or transcodes a truetype or
6 opentype font file using the OTS library:
7
8 transcoded_font = ValidateAndTranscode(original_font);
9 if (validation_error)
10 PrintErrorAndExit;
11 OutputToStdout(transcoded_font);
12
13 Usage:
14 $ ./ot-sanitise ttf_or_otf_file [transcoded_file]
15
16 Example:
17 $ ./ot-sanitise sample.otf transcoded_sample.otf
18 $ ./ot-sanitise malformed.ttf
19 WARNING at ots/src/ots.cc:158: bad range shift
20 ERROR at ots/src/ots.cc:199 (bool<unnamed>::do_ots_process(ots::OpenTypeFile*, ots::OTSStream*, const uint8_t*, size_t))
21 Failed to sanitise file!
22 $
23
24 ------------------------------------------------------------------------------
25 idempotent - TTF/OTF font transcoder (for OTS debugging)
26
27 Description:
28 idempotent is a program which validates and transcodes a truetype or opentype
29 font file using OTS. This tool transcodes the original font twice and then
30 verifies that the two transcoded fonts are identical:
31
32 t1 = ValidateAndTranscode(original_font);
33 if (validation_error)
34 PrintErrorAndExit;
35 t2 = ValidateAndTranscode(t1);
36 if (validation_error)
37 PrintErrorAndExit;
38 if (t1 != t2)
39 PrintErrorAndExit;
40
41 This tool is basically for OTS developers.
42
43 Usage:
44 $ ./idempotent ttf_or_otf_file
45
46 Example:
47 $ ./idempotent sample.otf
48 $ ./idempotent malformed.ttf
49 WARNING at ots/src/ots.cc:158: bad range shift
50 ERROR at ots/src/ots.cc:199 (bool<unnamed>::do_ots_process(ots::OpenTypeFile*, ots::OTSStream*, const uint8_t*, size_t))
51 Failed to sanitise file!
52 $
53
54 ------------------------------------------------------------------------------
55 validator_checker - font validation checker
56
57 Description:
58 validator_checker is a program which is intended to validate malformed fonts.
59 If the program detects that the font is invalid, it prints "OK" and returns
60 with 0 (success). If it coulndn't detect any errors, the program then opens
61 the transcoded font and renders some characters using FreeType2:
62
63 transcoded_font = ValidateAndTranscode(malicious_font);
64 if (validation_error)
65 Print("OK");
66 OpenAndRenderSomeCharacters(transcoded_font); # may cause SIGSEGV
67 Print("OK");
68
69 If SEGV doesn't raise inside FreeType2 library, the program prints "OK" and
70 returns with 0 as well. You should run this tool under the catchsegv or
71 valgrind command so that you can easily verify that all transformed fonts
72 don't crash the library (see the example below).
73
74 Usage:
75 $ catchsegv ./validator_checker malicous_ttf_or_otf_file
76
77 Example:
78 $ for f in malformed/*.ttf ; do catchsegv ./validator-checker "$f" ; done
79 OK: the malicious font was filtered: malformed/1.ttf
80 OK: the malicious font was filtered: malformed/2.ttf
81 OK: FreeType2 didn't crash: malformed/3.ttf
82 OK: the malicious font was filtered: malformed/4.ttf
83 $
84
85 ------------------------------------------------------------------------------
86 perf - performance checker
87
88 Description:
89 perf is a program which validates and transcodes a truetype or opentype font
90 file N times using OTS, then prints the elapsed time:
91
92 for (N times)
93 ValidateAndTranscode(original_font);
94 Print(elapsed_time_in_us / N);
95
96 Usage:
97 $ ./perf ttf_or_otf_file
98
99 Example:
100 $ ./perf sample.ttf
101 903 [us] sample.ttf (139332 bytes, 154 [byte/us])
102 $ ./perf sample-bold.otf
103 291 [us] sample-bold.otf (150652 bytes, 517 [byte/us])
104
105 ------------------------------------------------------------------------------
106 side-by-side - font quality checker
107
108 Description:
109 side-by-side is a program which renders some characters (ASCII, Latin-1, CJK)
110 using both original font and transcoded font and checks that the two rendering
111 results are exactly equal.
112
113 The following Unicode characters are used during the test:
114 0x0020 - 0x007E // Basic Latin
115 0x00A1 - 0x017F // Latin-1
116 0x1100 - 0x11FF // Hangul
117 0x3040 - 0x309F // Japanese HIRAGANA letters
118 0x3130 - 0x318F // Hangul
119 0x4E00 - 0x4F00 // CJK Kanji/Hanja
120 0xAC00 - 0xAD00 // Hangul
121
122 This tool uses FreeType2 library.
123 Note: This tool doesn't check kerning (GPOS/kern) nor font substitution
124 (GSUB). These should be tested in Layout tests if necessary.
125
126 Usage:
127 $ ./side-by-side ttf_or_otf_file
128
129 Example:
130 $ ./side-by-side linux/kochi-gothic.ttf # no problem
131 $ ./side-by-side free/kredit1.ttf # this is known issue of OTS.
132 bitmap metrics doesn't match! (14, 57), (37, 45)
133 EXPECTED:
134
135 +#######*.
136 +##########+
137 .###+.#. .#.
138 *#* # #*
139 ##. # ##
140 ## # ##
141 ## # ##
142 ## #. ##
143 ##. #. .##
144 ##. #. .##
145 *#+ *+ +#*
146 *#+ *+ +#*
147 *#+ *+ +#*
148 *#+ *+ +#*
149 *#+ *+ *#*
150 *#+ ++ *#+
151 +#* +* *#+
152 +#* +* *#+
153 +#* +* *#+
154 +#* +* ##.
155 +#* +* ##.
156 .## .# ##
157 .## .# ##
158 .## .# ##
159 ## # ##
160 ## # ##
161 ## # .##
162 ## # .##
163 ## .#+ +#*
164 ## +######*
165 ##.+#######*
166 *##########*
167 +##########+
168 #########*
169 .########
170 +####+
171
172
173
174
175
176
177 .*######*
178 +##*.*#####
179 .##+.#+ +#
180 *#* ## #+
181 ##*### ##
182 ###### ##
183 ##+.##+ +##
184 ## ##########
185 ## +#########
186 ## +########
187 *#. .########*
188 .#* #########.
189 +##########+
190 +*######*
191
192 ACTUAL:
193
194 .*##*+
195 +##+.##*.
196 .#* .##.+#*
197 *# ### *#+
198 #*######+ .*#+
199 #########*. +#*.
200 ###########* +#*
201 *############+ *#+
202 +##############. .##.
203 *##############* +#*
204 +###############+ *#+
205 *###############+ .*#+
206 .###############*. +#*.
207 +###############* +#*
208 *###############+ *#+
209 .*###############+ .*#+
210 +###############*. +#*
211 +###############* **
212 *###############+ #+
213 .###############* ##
214 +############+ ##
215 +########* .##
216 .######. +###
217 +#####+ .*#..#
218 +#####* *###..#
219 *#####. +#######*
220 +#####+ .*########.
221 +#####* +#########*
222 *#####. +##########+
223 +#####+ *#########*.
224 .#####* +##########+
225 *#####. +##########*
226 +#####+ *#########*.
227 .#####* +##########+
228 *#####+ +##########*
229 .#*++#+ *#########*.
230 .#+ ## +##########+
231 ****###+.##########*
232 ##################.
233 ###+ *#########+
234 ## +########*
235 *#+ *########.
236 ##.#######+
237 +#######*
238 *###*.
239
240
241 Glyph mismatch! (file: free/kredit1.ttf, U+0021, 100pt)!
242 $
243 ------------------------------------------------------------------------------
OLDNEW
« no previous file with comments | « third_party/ots/test/BLACKLIST.txt ('k') | third_party/ots/test/cff_type2_charstring_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698