Hi, Alexei.
Thank you for investigating the problem I described, and for proposing
two different solutions:
(1) Double the value of FT_RENDER_POOL_SIZE
(defined in include/freetype/config/ftoption.h).
(Its original value was 16384L. Doubling makes it 32768L.)
(2) In the function gray_set_cell(...)
(in src/smooth/ftgrays.c), make the condition for calling
gray_record_cell(...) more exclusive:
/* record the current one if it is valid and not empty */
if ( !ras.invalid && ( ras.area || ras.cover ) )
Original condition:
/* record the current one if it is valid */
if ( !ras.invalid )
SUMMARY OF TESTS
I tested the effects of (1) only, (2) only, and (1) & (2) combined,
for 736,482 glyphs in 334 TrueType fonts -- for 1536ppem, 2048ppem,
and 4096ppem, with various combinations of load flags and render modes.
* Method (1) by itself was extremely effective, leaving only a
single error case out of 736,482 glyphs! (Arial Unicode,
FreeType glyph index 36452, for 4096ppem.)
* Method (2) by itself was quite effective, but left 13 error cases
out of 736,482 glyphs. (11 glyphs in "constanb", 2 glyphs in
"constan", for 4096ppem, and only two cases at 2048ppem; details below)
* The *combination* of (1) & (2) eliminated all cases
of FT_Render_Glyph(...) returning an error code of 1.
CONCLUSIONS
Method (1) is extremely effective, but might not be suitable for
memory-scarce platforms (e.g., embedded systems). So, I can
understand why the current render pool size should remain at 16384
in the original library code.
Method (2) is very effective, and its refined logic seems like a pure
improvement. However, it's unclear whether the more exclusive condition
might slow down rendering by some amount, or actually ultimately
speed it up (by better filtering of cells).
Combining methods (1) and (2) is necessary for drawing at 4096ppem.
I speculate, based on the effectiveness of the individual methods,
that the combination might make it safe to draw glyphs at much
larger sizes, like 8192ppem; but, I haven't tested it.
DETAILS OF TESTING RESULTS
PARAMETER COMBINATION CODES
The following numbers are codes for different combinations of load flags
and render mode values. These numerical codes will be used to indicate
which combinations caused the FT_Render_Glyph(...) to return error 1
at different face sizes (1536ppem, 2048ppem, 4096ppem) for each glyph.
==========================================================================================
Parameter combinations for load_flags and render_mode:
==========================================================================================
0 : load_flags=FT_LOAD_NO_HINTING render_mode=FT_RENDER_MODE_NORMAL
1 : load_flags=FT_LOAD_NO_HINTING render_mode=FT_RENDER_MODE_LIGHT
2 : load_flags=FT_LOAD_DEFAULT render_mode=FT_RENDER_MODE_NORMAL
3 : load_flags=FT_LOAD_DEFAULT render_mode=FT_RENDER_MODE_LIGHT
4 : load_flags=(FT_LOAD_DEFAULT | FT_LOAD_TARGET_LIGHT) render_mode=FT_RENDER_MODE_NORMAL
5 : load_flags=(FT_LOAD_DEFAULT | FT_LOAD_TARGET_LIGHT) render_mode=FT_RENDER_MODE_LIGHT
6 : load_flags=(FT_LOAD_DEFAULT | FT_LOAD_TARGET_MONO) render_mode=FT_RENDER_MODE_NORMAL
7 : load_flags=(FT_LOAD_DEFAULT | FT_LOAD_TARGET_MONO) render_mode=FT_RENDER_MODE_LIGHT
==========================================================================================
ERROR CASES FOR METHOD (1) ONLY
As indicated above, method (1) (doubling FT_RENDER_POOL_SIZE) is extremely effective,
leaving an error only for a single glyph out of 736,482 glyphs at 4096ppem:
[For each ppem value, 8 combinations of (load-flag, render-mode) parameter values
are tested. If FT_Render_Glyph(...) does not return an error for a particular parameter
combination, "." is used to indicate "no error"; otherwise, the numeric code ("0".."7")
for the parameter combination causing an error is indicated.]
==================================================================================================
load_flags and render_mode
FreeType parameter combinations
file_name glyph_index glyph_name 1536ppem 2048ppem 4096ppem
==================================================================================================
ARIALUNI 36452 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
ERROR CASES FOR METHOD (2) ONLY
As indicated above, method (2) is very effective by itself, but does leave
a few error cases for two font face files:
[For each ppem value, 8 combinations of (load-flag, render-mode) parameter values
are tested. If FT_Render_Glyph(...) does not return an error for a particular parameter
combination, "." is used to indicate "no error"; otherwise, the numeric code ("0".."7")
for the parameter combination causing an error is indicated.]
==================================================================================================
load_flags and render_mode
FreeType parameter combinations
file_name glyph_index glyph_name 1536ppem 2048ppem 4096ppem
==================================================================================================
constan 419 ........ ........ 01234567
constan 425 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
constanb 143 (U+00006D) ........ ........ 01234567
constanb 418 ........ ........ 01234567
constanb 419 ........ 01234567 01234567
constanb 421 (U+00FB03) ........ ........ 01234567
constanb 424 ........ ........ 01234567
constanb 425 ........ 01234567 01234567
constanb 427 (U+00FB04) ........ ........ 01234567
constanb 687 (U+000428) ........ ........ 01234567
constanb 688 (U+000429) ........ ........ 01234567
constanb 792 ........ ........ 01234567
constanb 793 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
ERROR CASES FOR METHODS (1) AND (2) COMBINED
There were no errors for any of the 736,482 glyphs for face sizes
1024ppem, 2048ppem, or 4096ppem.
ERROR CASES WHEN NEITHER METHOD IS USED
I am including this case to show the extent of the errors when
neither method is used.
For the 736,482 glyphs (in 344 common Windows and open-source fonts),
only 10 glyphs (across 8 font face files) caused errors at 1536ppem,
and 64 glyphs (across 23 font face files) caused errors at 2048ppem,
and 363 glyphs (across 36 font face files) caused errors at 4096ppem.
[For each ppem value, 8 combinations of (load-flag, render-mode) parameter values
are tested. If FT_Render_Glyph(...) does not return an error for a particular parameter
combination, "." is used to indicate "no error"; otherwise, the numeric code ("0".."7")
for the parameter combination causing an error is indicated.]
==================================================================================================
load_flags and render_mode
FreeType parameter combinations
file_name glyph_index glyph_name 1536ppem 2048ppem 4096ppem
==================================================================================================
ANTQUAB 61 Z ........ ........ 01234567
ANTQUAB 179 emdash ........ ........ 01234567
ANTQUAB 230 Zcaron ........ ........ 01234567
ANTQUAB 301 Zacute ........ ........ 01234567
ANTQUAB 303 Zdot ........ ........ 01234567
ANTQUAB 424 Zeta ........ ........ 01234567
ANTQUAB 436 Sigma ........ ........ 01234567
--------------------------------------------------------------------------------------------------
ANTQUABI 179 emdash ........ ........ 01234567
--------------------------------------------------------------------------------------------------
ANTQUAI 434 Pi ........ ........ 01234567
ANTQUAI 509 afii10033 ........ ........ 01234567
ANTQUAI 518 afii10042 ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
aparaji 156 emdash 0123..67 0123..67 0123..67
--------------------------------------------------------------------------------------------------
arialbd 594 uni0428 0123..67 0123..67 0123..67
--------------------------------------------------------------------------------------------------
ARIALUNI 8460 (U+004E7D) ........ ........ 01234567
ARIALUNI 8523 (U+004EBC) ........ ........ 01234567
ARIALUNI 9751 (U+005388) ........ ........ 01234567
ARIALUNI 9791 (U+0053B0) ........ ........ 01234567
ARIALUNI 9792 (U+0053B1) ........ ........ 01234567
ARIALUNI 10223 (U+005560) ........ 01234567 01234567
ARIALUNI 10815 (U+0057B0) ........ 01234567 01234567
ARIALUNI 10841 (U+0057CA) 01234567 01234567 01234567
ARIALUNI 11092 (U+0058C5) ........ ........ 01234567
ARIALUNI 11152 (U+005901) ........ 01234567 01234567
ARIALUNI 12390 (U+005DD7) ........ 01234567 01234567
ARIALUNI 13511 (U+006238) ........ ........ 01234567
ARIALUNI 15780 (U+006B15) ........ 01234567 01234567
ARIALUNI 17028 (U+006FF5) ........ ........ 01234567
ARIALUNI 18711 (U+007688) ........ ........ 01234567
ARIALUNI 19600 (U+007A01) ........ 01234567 01234567
ARIALUNI 19681 (U+007A52) ........ ........ 01234567
ARIALUNI 20031 (U+007BB0) ........ 01234567 01234567
ARIALUNI 22287 (U+008480) ........ 01234567 01234567
ARIALUNI 24454 (U+008CF7) ........ 01234567 01234567
ARIALUNI 24626 (U+008DA3) ........ 01234567 01234567
ARIALUNI 25222 (U+008FF7) ........ ........ 01234567
ARIALUNI 25261 (U+00901E) ........ ........ 01234567
ARIALUNI 25271 (U+009028) ........ 01234567 01234567
ARIALUNI 27122 (U+009763) ........ ........ 01234567
ARIALUNI 28551 (U+009CF8) ........ ........ 01234567
ARIALUNI 29213 (U+009F8E) ........ 01234567 01234567
ARIALUNI 29377 ........ ........ 01234567
ARIALUNI 29885 ........ 01234567 01234567
ARIALUNI 29946 ........ 01234567 01234567
ARIALUNI 33671 ........ ........ 01234567
ARIALUNI 34670 ........ ........ 01234567
ARIALUNI 35045 ........ ........ 01234567
ARIALUNI 35109 ........ ........ 01234567
ARIALUNI 36452 ........ 01234567 01234567
ARIALUNI 37368 ........ ........ 01234567
ARIALUNI 38087 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
BKANT 518 afii10042 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
constan 418 ........ ........ 01234567
constan 419 ........ ........ 01234567
constan 421 (U+00FB03) ........ ........ 01234567
constan 425 ........ ........ 01234567
constan 427 (U+00FB04) ........ ........ 01234567
constan 792 ........ ........ 01234567
constan 793 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
constanb 11 (U+000048) ........ ........ 01234567
constanb 62 (U+000124) ........ ........ 01234567
constanb 63 (U+000126) ........ ........ 01234567
constanb 143 (U+00006D) ........ ........ 01234567
constanb 401 ........ ........ 01234567
constanb 418 ........ ........ 01234567
constanb 419 01...... 01234567 01234567
constanb 421 (U+00FB03) ........ ........ 01234567
constanb 424 ........ ........ 01234567
constanb 425 01...... 01234567 01234567
constanb 427 (U+00FB04) ........ ........ 01234567
constanb 552 (U+000397) ........ ........ 01234567
constanb 561 (U+0003A0) ........ ........ 01234567
constanb 568 (U+0003A8) ........ ........ 01234567
constanb 572 (U+000389) ........ ........ 01234567
constanb 641 ........ ........ 01234567
constanb 671 (U+000418) ........ ........ 01234567
constanb 672 (U+000419) ........ ........ 01234567
constanb 676 (U+00041D) ........ ........ 01234567
constanb 678 (U+00041F) ........ ........ 01234567
constanb 687 (U+000428) ........ ........ 01234567
constanb 688 (U+000429) ........ ........ 01234567
constanb 705 (U+00040D) ........ ........ 01234567
constanb 709 (U+00040B) ........ ........ 01234567
constanb 738 (U+000447) ........ ........ 01234567
constanb 739 (U+000448) ........ ........ 01234567
constanb 740 (U+000449) ........ ........ 01234567
constanb 792 ........ ........ 01234567
constanb 793 ........ ........ 01234567
constanb 988 (U+00220F) ........ ........ 01234567
constanb 1171 (U+00246A) ........ ........ 01234567
constanb 1172 (U+00246B) ........ 01234567 01234567
constanb 1174 (U+00246D) ........ ........ 01234567
constanb 1192 (U+0024EB) ........ ........ 01234567
constanb 1193 (U+0024EC) ........ 01234567 01234567
constanb 1195 (U+0024EE) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
constani 1175 (U+00246A) ........ ........ 01234567
constani 1176 (U+00246B) ........ 01234567 01234567
constani 1178 (U+00246D) ........ ........ 01234567
constani 1196 (U+0024EB) ........ ........ 01234567
constani 1197 (U+0024EC) ........ 01234567 01234567
constani 1199 (U+0024EE) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
constanz 40 (U+0000C6) ........ ........ 01234567
constanz 41 (U+0001FC) ........ ........ 01234567
constanz 298 ........ ........ 01234567
constanz 299 ........ ........ 01234567
constanz 568 (U+0003A8) ........ ........ 01234567
constanz 641 ........ ........ 01234567
constanz 687 (U+000428) ........ ........ 01234567
constanz 688 (U+000429) ........ ........ 01234567
constanz 796 ........ ........ 01234567
constanz 797 ........ ........ 01234567
constanz 853 ........ ........ 01234567
constanz 1175 (U+00246A) ........ ........ 01234567
constanz 1176 (U+00246B) ........ 01234567 01234567
constanz 1178 (U+00246D) ........ ........ 01234567
constanz 1196 (U+0024EB) ........ ........ 01234567
constanz 1197 (U+0024EC) ........ 01234567 01234567
constanz 1199 (U+0024EE) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
courbd 55 T ........ 0123..67 0123..67
courbd 287 Tcedilla ........ 0123..67 0123..67
courbd 289 Tcaron ........ 0123..67 0123..67
courbd 521 Tau ........ 0123..67 0123..67
courbd 588 afii10036 ........ 0123..67 0123..67
courbd 1806 uni021A ........ 0123..67 0123..67
courbd 2249 uni050E ........ 0123..67 0123..67
courbd 2395 uni1E6A ........ 0123..67 0123..67
courbd 2397 uni1E6C ........ 0123..67 0123..67
courbd 2399 uni1E6E ........ 0123..67 0123..67
courbd 2401 uni1E70 ........ 0123..67 0123..67
--------------------------------------------------------------------------------------------------
courbi 1526 uni050E ........ 0123..67 0123..67
--------------------------------------------------------------------------------------------------
GARAIT 144 AE ........ ........ 0123..67
GARAIT 371 AEacute ........ ........ 0123..67
--------------------------------------------------------------------------------------------------
kokilai 156 u2014 0123..67 0123..67 0123..67
--------------------------------------------------------------------------------------------------
MISTRAL 650 afii00208 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
msjh 1267 uni34C2 ........ ........ 01234567
msjh 1968 uni377F ........ ........ 01234567
msjh 2145 uni3830 ........ ........ 01234567
msjh 2146 uni3831 ........ ........ 01234567
msjh 3268 uni3C93 ........ ........ 01234567
msjh 6115 uni47B2 ........ ........ 01234567
msjh 6369 uni48B0 ........ ........ 01234567
msjh 7263 uni4C2E ........ ........ 01234567
msjh 7264 uni4C2F ........ ........ 01234567
msjh 7775 uni4E78 ........ ........ 01234567
msjh 11377 uni5C8A ........ ........ 01234567
msjh 11736 uni5DF1 ........ ........ 01234567
msjh 15300 uni6BDD ........ ........ 01234567
msjh 15323 uni6BF4 ........ ........ 01234567
msjh 15329 uni6BFA ........ ........ 01234567
msjh 15332 uni6BFD ........ ........ 01234567
msjh 15341 uni6C06 ........ ........ 01234567
msjh 15347 uni6C0C ........ ........ 01234567
msjh 21112 uni8291 ........ ........ 01234567
msjh 22954 uni89C3 ........ ........ 01234567
msjh 23900 uni8D75 ........ ........ 01234567
msjh 28645 uniF913 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
msjhbd 950 uni34AE ........ ........ 01234567
msjhbd 1090 uni353A ........ ........ 01234567
msjhbd 1677 uni3785 ........ ........ 01234567
msjhbd 5797 uni479D ........ ........ 01234567
msjhbd 5824 uni47B8 ........ ........ 01234567
msjhbd 6964 uni4C2C ........ ........ 01234567
msjhbd 8225 uni5163 ........ ........ 01234567
msjhbd 10995 uni5C35 ........ ........ 01234567
msjhbd 15010 uni6BE4 ........ ........ 01234567
msjhbd 15021 uni6BEF ........ ........ 01234567
msjhbd 15026 uni6BF4 ........ ........ 01234567
msjhbd 17483 uni758D ........ ........ 01234567
msjhbd 18822 uni7AC8 ........ ........ 01234567
msjhbd 19140 uni7C06 ........ ........ 01234567
msjhbd 24225 uni8FE3 ........ ........ 01234567
msjhbd 24267 uni900D ........ ........ 01234567
msjhbd 24326 uni9048 ........ ........ 01234567
msjhbd 24328 uni904A ........ ........ 01234567
msjhbd 24346 uni905C ........ ........ 01234567
msjhbd 24357 uni9067 ........ ........ 01234567
msjhbd 24550 uni9128 ........ ........ 01234567
msjhbd 27147 uni9B4D ........ ........ 01234567
msjhbd 28102 uni9F08 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
msyh 3926 uni375A ........ ........ 01234567
msyh 6575 uni41B3 ........ ........ 01234567
msyh 6584 uni41BC ........ ........ 01234567
msyh 6681 uni421D ........ ........ 01234567
msyh 7685 uni4609 ........ ........ 01234567
msyh 8082 uni4796 ........ ........ 01234567
msyh 8083 uni4797 ........ ........ 01234567
msyh 8085 uni4799 ........ ........ 01234567
msyh 8086 uni479A ........ ........ 01234567
msyh 8087 uni479B ........ ........ 01234567
msyh 8088 uni479C ........ ........ 01234567
msyh 8089 uni479D ........ ........ 01234567
msyh 8090 uni479E ........ ........ 01234567
msyh 8091 uni479F ........ ........ 01234567
msyh 8092 uni47A0 ........ ........ 01234567
msyh 8093 uni47A1 ........ ........ 01234567
msyh 8094 uni47A2 ........ ........ 01234567
msyh 8095 uni47A3 ........ ........ 01234567
msyh 8096 uni47A4 ........ ........ 01234567
msyh 8097 uni47A5 ........ ........ 01234567
msyh 8098 uni47A6 ........ ........ 01234567
msyh 8099 uni47A7 ........ ........ 01234567
msyh 8100 uni47A8 ........ ........ 01234567
msyh 8101 uni47A9 ........ ........ 01234567
msyh 8102 uni47AA ........ ........ 01234567
msyh 8103 uni47AB ........ ........ 01234567
msyh 8104 uni47AC ........ ........ 01234567
msyh 8105 uni47AD ........ ........ 01234567
msyh 8106 uni47AE ........ ........ 01234567
msyh 8107 uni47AF ........ ........ 01234567
msyh 8108 uni47B0 ........ ........ 01234567
msyh 8109 uni47B1 ........ ........ 01234567
msyh 8110 uni47B2 ........ ........ 01234567
msyh 8111 uni47B3 ........ ........ 01234567
msyh 8112 uni47B4 ........ ........ 01234567
msyh 8113 uni47B5 ........ ........ 01234567
msyh 8114 uni47B6 ........ ........ 01234567
msyh 8115 uni47B7 ........ ........ 01234567
msyh 8116 uni47B8 ........ ........ 01234567
msyh 8117 uni47B9 ........ ........ 01234567
msyh 8118 uni47BA ........ ........ 01234567
msyh 8119 uni47BB ........ ........ 01234567
msyh 8120 uni47BC ........ ........ 01234567
msyh 8121 uni47BD ........ ........ 01234567
msyh 8122 uni47BE ........ ........ 01234567
msyh 8124 uni47C0 ........ ........ 01234567
msyh 8125 uni47C1 ........ ........ 01234567
msyh 8126 uni47C2 ........ ........ 01234567
msyh 8127 uni47C3 ........ ........ 01234567
msyh 8128 uni47C4 ........ ........ 01234567
msyh 8130 uni47C6 ........ ........ 01234567
msyh 8131 uni47C7 ........ ........ 01234567
msyh 8132 uni47C8 ........ ........ 01234567
msyh 8133 uni47C9 ........ ........ 01234567
msyh 8134 uni47CA ........ ........ 01234567
msyh 8135 uni47CB ........ ........ 01234567
msyh 8136 uni47CC ........ ........ 01234567
msyh 8137 uni47CD ........ ........ 01234567
msyh 8138 uni47CE ........ ........ 01234567
msyh 8139 uni47CF ........ ........ 01234567
msyh 8140 uni47D0 ........ ........ 01234567
msyh 8141 uni47D1 ........ ........ 01234567
msyh 8142 uni47D2 ........ ........ 01234567
msyh 17220 uni703D ........ ........ 01234567
msyh 19819 uni7B3E ........ 01234567 01234567
msyh 19985 uni7BF4 ........ ........ 01234567
msyh 20914 uni7FE8 ........ ........ 01234567
msyh 23225 uni8982 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
msyhbd 2817 uni904D ........ ........ 01234567
msyhbd 2822 uni906E ........ ........ 01234567
msyhbd 2825 uni9080 ........ ........ 01234567
msyhbd 5581 uni3E02 ........ 01234567 01234567
msyhbd 6046 uni3FD3 ........ ........ 01234567
msyhbd 6478 uni4183 ........ ........ 01234567
msyhbd 6526 uni41B3 ........ ........ 01234567
msyhbd 7607 uni45EC ........ ........ 01234567
msyhbd 8080 uni47C5 ........ ........ 01234567
msyhbd 8141 uni4802 ........ ........ 01234567
msyhbd 8173 uni4822 ........ ........ 01234567
msyhbd 8281 uni488E ........ ........ 01234567
msyhbd 8302 uni48A3 ........ ........ 01234567
msyhbd 8687 uni4A24 ........ ........ 01234567
msyhbd 8691 uni4A28 ........ ........ 01234567
msyhbd 11360 uni5675 ........ ........ 01234567
msyhbd 17176 uni7022 ........ ........ 01234567
msyhbd 22823 uni87D7 ........ ........ 01234567
msyhbd 22869 uni8806 ........ ........ 01234567
msyhbd 22908 uni882D ........ ........ 01234567
msyhbd 24352 uni8E59 ........ ........ 01234567
msyhbd 24381 uni8E77 ........ ........ 01234567
msyhbd 24399 uni8E89 ........ ........ 01234567
msyhbd 24413 uni8E97 ........ ........ 01234567
msyhbd 24417 uni8E9B ........ ........ 01234567
msyhbd 24422 uni8EA0 ........ ........ 01234567
msyhbd 24678 uni8FB7 ........ ........ 01234567
msyhbd 24680 uni8FBA ........ ........ 01234567
msyhbd 24701 uni8FDA ........ ........ 01234567
msyhbd 24702 uni8FE0 ........ ........ 01234567
msyhbd 24744 uni9021 ........ ........ 01234567
msyhbd 24792 uni9058 ........ ........ 01234567
msyhbd 24796 uni905C ........ ........ 01234567
msyhbd 24808 uni9069 ........ ........ 01234567
msyhbd 24828 uni9082 ........ ........ 01234567
--------------------------------------------------------------------------------------------------
NIRMALAB 1546 01234567 01234567 01234567
NIRMALAB 1550 01234567 01234567 01234567
NIRMALAB 1560 01234567 01234567 01234567
NIRMALAB 1658 (U+000D73) ........ 0123..67 0123..67
NIRMALAB 2276 (U+000C3D) ........ 0123..67 0123..67
NIRMALAB 3031 ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
palab 291 ........ ........ 01234567
palab 460 (U+002211) ........ ........ 01234567
palab 664 (U+000428) ........ ........ 01234567
palab 665 (U+000429) ........ ........ 01234567
palab 674 (U+00046A) ........ ........ 01234567
palab 742 (U+000448) ........ ........ 01234567
palab 743 (U+000449) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
palai 665 (U+000429) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
segoeprb 680 filledrect ........ ........ 01234567
--------------------------------------------------------------------------------------------------
segoeuil 1508 uni046A ........ 0123..67 0123..67
segoeuil 1510 uni046C ........ 0123..67 0123..67
segoeuil 1586 uni04D8 ........ 0123..67 0123..67
segoeuil 1588 uni04DA ........ 0123..67 0123..67
--------------------------------------------------------------------------------------------------
seguisym 1475 uni2654 ........ ........ 01234567
seguisym 3573 u1F4FA ........ ........ 01234567
--------------------------------------------------------------------------------------------------
simhei 7184 (U+0065DA) ........ ........ 01234567
simhei 7378 (U+00669C) ........ ........ 01234567
simhei 7982 (U+0068F8) ........ ........ 01234567
simhei 13802 (U+007FB4) ........ ........ 01234567
simhei 16580 (U+008A8E) ........ ........ 01234567
simhei 16620 (U+008AB6) ........ ........ 01234567
simhei 16646 (U+008AD0) ........ ........ 01234567
simhei 16648 (U+008AD2) ........ ........ 01234567
simhei 16674 (U+008AEC) ........ ........ 01234567
simhei 16706 (U+008B0C) ........ ........ 01234567
simhei 16735 (U+008B29) ........ ........ 01234567
simhei 16755 (U+008B3D) ........ ........ 01234567
simhei 16771 (U+008B4D) ........ ........ 01234567
simhei 16807 (U+008B71) ........ ........ 01234567
simhei 16812 (U+008B76) ........ ........ 01234567
simhei 16835 (U+008B8D) ........ ........ 01234567
simhei 17036 (U+008C56) ........ ........ 01234567
simhei 17037 (U+008C57) ........ ........ 01234567
simhei 17039 (U+008C59) ........ ........ 01234567
simhei 17042 (U+008C5C) ........ ........ 01234567
simhei 17055 (U+008C69) ........ ........ 01234567
simhei 17112 (U+008CA2) ........ ........ 01234567
simhei 17122 (U+008CAC) ........ ........ 01234567
simhei 17130 (U+008CB4) ........ ........ 01234567
simhei 17177 (U+008CE3) ........ ........ 01234567
simhei 17241 (U+008D23) ........ ........ 01234567
simhei 17318 (U+008D70) ........ ........ 01234567
simhei 17319 (U+008D71) ........ ........ 01234567
simhei 17664 (U+008ECA) ........ ........ 01234567
simhei 17667 (U+008ECD) ........ ........ 01234567
simhei 17689 (U+008EE3) ........ ........ 01234567
simhei 17702 (U+008EF0) ........ ........ 01234567
simhei 17756 (U+008F26) ........ ........ 01234567
simhei 17759 (U+008F29) ........ ........ 01234567
simhei 17811 (U+008F5D) ........ ........ 01234567
simhei 18311 (U+009151) ........ ........ 01234567
simhei 18428 (U+0091C6) ........ ........ 01234567
simhei 21790 (U+009EE8) ........ ........ 01234567
simhei 21891 (U+009F4D) ........ ........ 01234567
simhei 21896 (U+009F52) ........ ........ 01234567
simhei 21935 (U+009F79) ........ ........ 01234567
simhei 21941 (U+009F7F) ........ ........ 01234567
simhei 21965 (U+009F97) ........ ........ 01234567
simhei 22939 (U+0037BF) ........ ........ 01234567
simhei 25887 (U+004343) ........ ........ 01234567
simhei 27035 (U+0047BF) ........ ........ 01234567
simhei 27041 (U+0047C5) ........ ........ 01234567
simhei 27194 (U+00485E) ........ ........ 01234567
simhei 27204 (U+004868) ........ ........ 01234567
simhei 27340 (U+0048F0) ........ ........ 01234567
--------------------------------------------------------------------------------------------------
symbol 156 arrowdblboth ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
tahomabd 1217 uni04D8 ........ 0123..67 0123..67
tahomabd 2432 uni04DA ........ 0123..67 0123..67
--------------------------------------------------------------------------------------------------
timesi 178 emdash 0123..67 0123..67 0123..67
--------------------------------------------------------------------------------------------------
trebucbi 159 Omega ........ 0123..67 0123..67
trebucbi 246 Ohm ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
Vani 648 te_nya.ai ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
Vanib 291 te_matra_ai ........ 0123..67 0123..67
--------------------------------------------------------------------------------------------------
vijaya 112 u2014 0123..67 0123..67 0123..67
--------------------------------------------------------------------------------------------------
webdings 161 computers1 ........ 01234567 01234567
--------------------------------------------------------------------------------------------------
wingding 59 boxcheckbld ........ 01..45.. 01..45..
wingding 136 boxshadowup ........ 01..45.. 01234567
--------------------------------------------------------------------------------------------------