OLD | NEW |
1 /* | 1 /* |
2 * Copyright © 1998-2004 David Turner and Werner Lemberg | 2 * Copyright © 1998-2004 David Turner and Werner Lemberg |
3 * Copyright © 2006 Behdad Esfahbod | 3 * Copyright © 2006 Behdad Esfahbod |
4 * Copyright © 2007,2008,2009 Red Hat, Inc. | 4 * Copyright © 2007,2008,2009 Red Hat, Inc. |
5 * Copyright © 2012,2013 Google, Inc. | 5 * Copyright © 2012,2013 Google, Inc. |
6 * | 6 * |
7 * This is part of HarfBuzz, a text shaping library. | 7 * This is part of HarfBuzz, a text shaping library. |
8 * | 8 * |
9 * Permission is hereby granted, without written agreement and without | 9 * Permission is hereby granted, without written agreement and without |
10 * license or royalty fees, to use, copy, modify, and distribute this | 10 * license or royalty fees, to use, copy, modify, and distribute this |
(...skipping 21 matching lines...) Expand all Loading... |
32 #include "hb-ot-layout-private.hh" | 32 #include "hb-ot-layout-private.hh" |
33 | 33 |
34 #include "hb-ot-layout-gdef-table.hh" | 34 #include "hb-ot-layout-gdef-table.hh" |
35 #include "hb-ot-layout-gsub-table.hh" | 35 #include "hb-ot-layout-gsub-table.hh" |
36 #include "hb-ot-layout-gpos-table.hh" | 36 #include "hb-ot-layout-gpos-table.hh" |
37 #include "hb-ot-layout-jstf-table.hh" // Just so we compile it; unused otherwise
. | 37 #include "hb-ot-layout-jstf-table.hh" // Just so we compile it; unused otherwise
. |
38 | 38 |
39 #include "hb-ot-map-private.hh" | 39 #include "hb-ot-map-private.hh" |
40 | 40 |
41 | 41 |
42 HB_SHAPER_DATA_ENSURE_DECLARE(ot, face) | |
43 | |
44 hb_ot_layout_t * | 42 hb_ot_layout_t * |
45 _hb_ot_layout_create (hb_face_t *face) | 43 _hb_ot_layout_create (hb_face_t *face) |
46 { | 44 { |
47 hb_ot_layout_t *layout = (hb_ot_layout_t *) calloc (1, sizeof (hb_ot_layout_t)
); | 45 hb_ot_layout_t *layout = (hb_ot_layout_t *) calloc (1, sizeof (hb_ot_layout_t)
); |
48 if (unlikely (!layout)) | 46 if (unlikely (!layout)) |
49 return NULL; | 47 return NULL; |
50 | 48 |
51 layout->gdef_blob = OT::Sanitizer<OT::GDEF>::sanitize (face->reference_table (
HB_OT_TAG_GDEF)); | 49 layout->gdef_blob = OT::Sanitizer<OT::GDEF>::sanitize (face->reference_table (
HB_OT_TAG_GDEF)); |
52 layout->gdef = OT::Sanitizer<OT::GDEF>::lock_instance (layout->gdef_blob); | 50 layout->gdef = OT::Sanitizer<OT::GDEF>::lock_instance (layout->gdef_blob); |
53 | 51 |
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 } | 94 } |
97 else if (0 | 95 else if (0 |
98 /* sha1sum:96eda93f7d33e79962451c6c39a6b51ee893ce8c tahoma.ttf from Windo
ws 8 */ | 96 /* sha1sum:96eda93f7d33e79962451c6c39a6b51ee893ce8c tahoma.ttf from Windo
ws 8 */ |
99 || (898 == gdef_len && 46470 == gpos_len && 12554 == gsub_len) | 97 || (898 == gdef_len && 46470 == gpos_len && 12554 == gsub_len) |
100 /* sha1sum:20928dc06014e0cd120b6fc942d0c3b1a46ac2bc tahomabd.ttf from Win
dows 8 */ | 98 /* sha1sum:20928dc06014e0cd120b6fc942d0c3b1a46ac2bc tahomabd.ttf from Win
dows 8 */ |
101 || (910 == gdef_len && 47732 == gpos_len && 12566 == gsub_len) | 99 || (910 == gdef_len && 47732 == gpos_len && 12566 == gsub_len) |
102 /* sha1sum:4f95b7e4878f60fa3a39ca269618dfde9721a79e tahoma.ttf from Windo
ws 8.1 */ | 100 /* sha1sum:4f95b7e4878f60fa3a39ca269618dfde9721a79e tahoma.ttf from Windo
ws 8.1 */ |
103 || (928 == gdef_len && 59332 == gpos_len && 23298 == gsub_len) | 101 || (928 == gdef_len && 59332 == gpos_len && 23298 == gsub_len) |
104 /* sha1sum:6d400781948517c3c0441ba42acb309584b73033 tahomabd.ttf from Win
dows 8.1 */ | 102 /* sha1sum:6d400781948517c3c0441ba42acb309584b73033 tahomabd.ttf from Win
dows 8.1 */ |
105 || (940 == gdef_len && 60732 == gpos_len && 23310 == gsub_len) | 103 || (940 == gdef_len && 60732 == gpos_len && 23310 == gsub_len) |
| 104 /* tahoma.ttf v6.04 from Windows 8.1 x64, see https://bugzilla.mozilla.org
/show_bug.cgi?id=1279925 */ |
| 105 || (964 == gdef_len && 60072 == gpos_len && 23836 == gsub_len) |
| 106 /* tahomabd.ttf v6.04 from Windows 8.1 x64, see https://bugzilla.mozilla.o
rg/show_bug.cgi?id=1279925 */ |
| 107 || (976 == gdef_len && 61456 == gpos_len && 23832 == gsub_len) |
106 /* sha1sum:e55fa2dfe957a9f7ec26be516a0e30b0c925f846 tahoma.ttf from Windo
ws 10 */ | 108 /* sha1sum:e55fa2dfe957a9f7ec26be516a0e30b0c925f846 tahoma.ttf from Windo
ws 10 */ |
107 || (994 == gdef_len && 60336 == gpos_len && 24474 == gsub_len) | 109 || (994 == gdef_len && 60336 == gpos_len && 24474 == gsub_len) |
108 /* sha1sum:7199385abb4c2cc81c83a151a7599b6368e92343 tahomabd.ttf from Win
dows 10 */ | 110 /* sha1sum:7199385abb4c2cc81c83a151a7599b6368e92343 tahomabd.ttf from Win
dows 10 */ |
109 || (1006 == gdef_len && 61740 == gpos_len && 24470 == gsub_len) | 111 || (1006 == gdef_len && 61740 == gpos_len && 24470 == gsub_len) |
| 112 /* tahoma.ttf v6.91 from Windows 10 x64, see https://bugzilla.mozilla.org/
show_bug.cgi?id=1279925 */ |
| 113 || (1006 == gdef_len && 61346 == gpos_len && 24576 == gsub_len) |
| 114 /* tahomabd.ttf v6.91 from Windows 10 x64, see https://bugzilla.mozilla.or
g/show_bug.cgi?id=1279925 */ |
| 115 || (1018 == gdef_len && 62828 == gpos_len && 24572 == gsub_len) |
| 116 /* sha1sum:b9c84d820c49850d3d27ec498be93955b82772b5 tahoma.ttf from Windo
ws 10 AU */ |
| 117 || (1006 == gdef_len && 61352 == gpos_len && 24576 == gsub_len) |
| 118 /* sha1sum:2bdfaab28174bdadd2f3d4200a30a7ae31db79d2 tahomabd.ttf from Win
dows 10 AU */ |
| 119 || (1018 == gdef_len && 62834 == gpos_len && 24572 == gsub_len) |
110 /* sha1sum:b0d36cf5a2fbe746a3dd277bffc6756a820807a7 Tahoma.ttf from Mac O
S X 10.9 */ | 120 /* sha1sum:b0d36cf5a2fbe746a3dd277bffc6756a820807a7 Tahoma.ttf from Mac O
S X 10.9 */ |
111 || (832 == gdef_len && 47162 == gpos_len && 7324 == gsub_len) | 121 || (832 == gdef_len && 47162 == gpos_len && 7324 == gsub_len) |
112 /* sha1sum:12fc4538e84d461771b30c18b5eb6bd434e30fba Tahoma Bold.ttf from
Mac OS X 10.9 */ | 122 /* sha1sum:12fc4538e84d461771b30c18b5eb6bd434e30fba Tahoma Bold.ttf from
Mac OS X 10.9 */ |
113 || (844 == gdef_len && 45474 == gpos_len && 7302 == gsub_len) | 123 || (844 == gdef_len && 45474 == gpos_len && 7302 == gsub_len) |
| 124 /* sha1sum:eb8afadd28e9cf963e886b23a30b44ab4fd83acc himalaya.ttf from Win
dows 7 */ |
| 125 || (180 == gdef_len && 7254 == gpos_len && 13054 == gsub_len) |
114 /* sha1sum:73da7f025b238a3f737aa1fde22577a6370f77b0 himalaya.ttf from Win
dows 8 */ | 126 /* sha1sum:73da7f025b238a3f737aa1fde22577a6370f77b0 himalaya.ttf from Win
dows 8 */ |
115 || (192 == gdef_len && 7254 == gpos_len && 12638 == gsub_len) | 127 || (192 == gdef_len && 7254 == gpos_len && 12638 == gsub_len) |
116 /* sha1sum:6e80fd1c0b059bbee49272401583160dc1e6a427 himalaya.ttf from Win
dows 8.1 */ | 128 /* sha1sum:6e80fd1c0b059bbee49272401583160dc1e6a427 himalaya.ttf from Win
dows 8.1 */ |
117 || (192 == gdef_len && 7254 == gpos_len && 12690 == gsub_len) | 129 || (192 == gdef_len && 7254 == gpos_len && 12690 == gsub_len) |
118 /* 8d9267aea9cd2c852ecfb9f12a6e834bfaeafe44 cantarell-fonts-0.0.21/otf/Ca
ntarell-Regular.otf */ | 130 /* 8d9267aea9cd2c852ecfb9f12a6e834bfaeafe44 cantarell-fonts-0.0.21/otf/Ca
ntarell-Regular.otf */ |
119 /* 983988ff7b47439ab79aeaf9a45bd4a2c5b9d371 cantarell-fonts-0.0.21/otf/Ca
ntarell-Oblique.otf */ | 131 /* 983988ff7b47439ab79aeaf9a45bd4a2c5b9d371 cantarell-fonts-0.0.21/otf/Ca
ntarell-Oblique.otf */ |
120 || (188 == gdef_len && 3852 == gpos_len && 248 == gsub_len) | 132 || (188 == gdef_len && 3852 == gpos_len && 248 == gsub_len) |
121 /* 2c0c90c6f6087ffbfea76589c93113a9cbb0e75f cantarell-fonts-0.0.21/otf/Ca
ntarell-Bold.otf */ | 133 /* 2c0c90c6f6087ffbfea76589c93113a9cbb0e75f cantarell-fonts-0.0.21/otf/Ca
ntarell-Bold.otf */ |
122 /* 55461f5b853c6da88069ffcdf7f4dd3f8d7e3e6b cantarell-fonts-0.0.21/otf/Ca
ntarell-Bold-Oblique.otf */ | 134 /* 55461f5b853c6da88069ffcdf7f4dd3f8d7e3e6b cantarell-fonts-0.0.21/otf/Ca
ntarell-Bold-Oblique.otf */ |
123 || (188 == gdef_len && 3426 == gpos_len && 264 == gsub_len) | 135 || (188 == gdef_len && 3426 == gpos_len && 264 == gsub_len) |
| 136 /* d125afa82a77a6475ac0e74e7c207914af84b37a padauk-2.80/Padauk.ttf RHEL 7.
2 */ |
| 137 || (1058 == gdef_len && 11818 == gpos_len && 47032 == gsub_len) |
| 138 /* 0f7b80437227b90a577cc078c0216160ae61b031 padauk-2.80/Padauk-Bold.ttf RH
EL 7.2*/ |
| 139 || (1046 == gdef_len && 12600 == gpos_len && 47030 == gsub_len) |
| 140 /* d3dde9aa0a6b7f8f6a89ef1002e9aaa11b882290 padauk-2.80/Padauk.ttf Ubuntu
16.04 */ |
| 141 || (1058 == gdef_len && 16770 == gpos_len && 71796 == gsub_len) |
| 142 /* 5f3c98ccccae8a953be2d122c1b3a77fd805093f padauk-2.80/Padauk-Bold.ttf Ub
untu 16.04 */ |
| 143 || (1046 == gdef_len && 17862 == gpos_len && 71790 == gsub_len) |
124 /* 6c93b63b64e8b2c93f5e824e78caca555dc887c7 padauk-2.80/Padauk-book.ttf */ | 144 /* 6c93b63b64e8b2c93f5e824e78caca555dc887c7 padauk-2.80/Padauk-book.ttf */ |
125 || (1046 == gdef_len && 17112 == gpos_len && 71788 == gsub_len) | 145 || (1046 == gdef_len && 17112 == gpos_len && 71788 == gsub_len) |
126 /* d89b1664058359b8ec82e35d3531931125991fb9 padauk-2.80/Padauk-bookbold.tt
f */ | 146 /* d89b1664058359b8ec82e35d3531931125991fb9 padauk-2.80/Padauk-bookbold.tt
f */ |
127 || (1058 == gdef_len && 17514 == gpos_len && 71794 == gsub_len) | 147 || (1058 == gdef_len && 17514 == gpos_len && 71794 == gsub_len) |
128 /* 824cfd193aaf6234b2b4dc0cf3c6ef576c0d00ef padauk-3.0/Padauk-book.ttf */ | 148 /* 824cfd193aaf6234b2b4dc0cf3c6ef576c0d00ef padauk-3.0/Padauk-book.ttf */ |
129 || (1330 == gdef_len && 57938 == gpos_len && 109904 == gsub_len) | 149 || (1330 == gdef_len && 57938 == gpos_len && 109904 == gsub_len) |
130 /* 91fcc10cf15e012d27571e075b3b4dfe31754a8a padauk-3.0/Padauk-bookbold.ttf
*/ | 150 /* 91fcc10cf15e012d27571e075b3b4dfe31754a8a padauk-3.0/Padauk-bookbold.ttf
*/ |
131 || (1330 == gdef_len && 58972 == gpos_len && 109904 == gsub_len) | 151 || (1330 == gdef_len && 58972 == gpos_len && 109904 == gsub_len) |
132 /* sha1sum: c26e41d567ed821bed997e937bc0c41435689e85 Padauk.ttf | 152 /* sha1sum: c26e41d567ed821bed997e937bc0c41435689e85 Padauk.ttf |
133 * "Padauk Regular" "Version 2.5", see https://crbug.com/681813 */ | 153 * "Padauk Regular" "Version 2.5", see https://crbug.com/681813 */ |
(...skipping 1091 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1225 apply (proxy, plan, font, buffer); | 1245 apply (proxy, plan, font, buffer); |
1226 } | 1246 } |
1227 | 1247 |
1228 HB_INTERNAL void | 1248 HB_INTERNAL void |
1229 hb_ot_layout_substitute_lookup (OT::hb_apply_context_t *c, | 1249 hb_ot_layout_substitute_lookup (OT::hb_apply_context_t *c, |
1230 const OT::SubstLookup &lookup, | 1250 const OT::SubstLookup &lookup, |
1231 const hb_ot_layout_lookup_accelerator_t &accel) | 1251 const hb_ot_layout_lookup_accelerator_t &accel) |
1232 { | 1252 { |
1233 apply_string<GSUBProxy> (c, lookup, accel); | 1253 apply_string<GSUBProxy> (c, lookup, accel); |
1234 } | 1254 } |
OLD | NEW |