OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2009 Google Inc. All rights reserved. | 2 * Copyright (C) 2009 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
92 | 92 |
93 ots::TableAction BlinkOTSContext::GetTableAction(uint32_t tag) { | 93 ots::TableAction BlinkOTSContext::GetTableAction(uint32_t tag) { |
94 const uint32_t cbdtTag = OTS_TAG('C', 'B', 'D', 'T'); | 94 const uint32_t cbdtTag = OTS_TAG('C', 'B', 'D', 'T'); |
95 const uint32_t cblcTag = OTS_TAG('C', 'B', 'L', 'C'); | 95 const uint32_t cblcTag = OTS_TAG('C', 'B', 'L', 'C'); |
96 const uint32_t colrTag = OTS_TAG('C', 'O', 'L', 'R'); | 96 const uint32_t colrTag = OTS_TAG('C', 'O', 'L', 'R'); |
97 const uint32_t cpalTag = OTS_TAG('C', 'P', 'A', 'L'); | 97 const uint32_t cpalTag = OTS_TAG('C', 'P', 'A', 'L'); |
98 #if HB_VERSION_ATLEAST(1, 0, 0) | 98 #if HB_VERSION_ATLEAST(1, 0, 0) |
99 const uint32_t gdefTag = OTS_TAG('G', 'D', 'E', 'F'); | 99 const uint32_t gdefTag = OTS_TAG('G', 'D', 'E', 'F'); |
100 const uint32_t gposTag = OTS_TAG('G', 'P', 'O', 'S'); | 100 const uint32_t gposTag = OTS_TAG('G', 'P', 'O', 'S'); |
101 const uint32_t gsubTag = OTS_TAG('G', 'S', 'U', 'B'); | 101 const uint32_t gsubTag = OTS_TAG('G', 'S', 'U', 'B'); |
| 102 |
| 103 // Font Variations related tables |
| 104 // See "Variation Tables" in Terminology section of |
| 105 // https://www.microsoft.com/typography/otspec/otvaroverview.htm |
| 106 const uint32_t avarTag = OTS_TAG('a', 'v', 'a', 'r'); |
| 107 const uint32_t cvarTag = OTS_TAG('c', 'v', 'a', 'r'); |
| 108 const uint32_t fvarTag = OTS_TAG('f', 'v', 'a', 'r'); |
| 109 const uint32_t gvarTag = OTS_TAG('g', 'v', 'a', 'r'); |
| 110 const uint32_t hvarTag = OTS_TAG('H', 'V', 'A', 'R'); |
| 111 const uint32_t mvarTag = OTS_TAG('M', 'V', 'A', 'R'); |
| 112 const uint32_t vvarTag = OTS_TAG('V', 'V', 'A', 'R'); |
102 #endif | 113 #endif |
103 | 114 |
104 switch (tag) { | 115 switch (tag) { |
105 // Google Color Emoji Tables | 116 // Google Color Emoji Tables |
106 case cbdtTag: | 117 case cbdtTag: |
107 case cblcTag: | 118 case cblcTag: |
108 // Windows Color Emoji Tables | 119 // Windows Color Emoji Tables |
109 case colrTag: | 120 case colrTag: |
110 case cpalTag: | 121 case cpalTag: |
111 #if HB_VERSION_ATLEAST(1, 0, 0) | 122 #if HB_VERSION_ATLEAST(1, 0, 0) |
112 // Let HarfBuzz handle how to deal with broken tables. | 123 // Let HarfBuzz handle how to deal with broken tables. |
| 124 case avarTag: |
| 125 case cvarTag: |
| 126 case fvarTag: |
| 127 case gvarTag: |
| 128 case hvarTag: |
| 129 case mvarTag: |
| 130 case vvarTag: |
113 case gdefTag: | 131 case gdefTag: |
114 case gposTag: | 132 case gposTag: |
115 case gsubTag: | 133 case gsubTag: |
116 #endif | 134 #endif |
117 return ots::TABLE_ACTION_PASSTHRU; | 135 return ots::TABLE_ACTION_PASSTHRU; |
118 default: | 136 default: |
119 return ots::TABLE_ACTION_DEFAULT; | 137 return ots::TABLE_ACTION_DEFAULT; |
120 } | 138 } |
121 } | 139 } |
122 | 140 |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
208 if (!typeface) { | 226 if (!typeface) { |
209 setErrorString("Not a valid font data"); | 227 setErrorString("Not a valid font data"); |
210 return nullptr; | 228 return nullptr; |
211 } | 229 } |
212 | 230 |
213 m_decodedSize = decodedLength; | 231 m_decodedSize = decodedLength; |
214 return typeface; | 232 return typeface; |
215 } | 233 } |
216 | 234 |
217 } // namespace blink | 235 } // namespace blink |
OLD | NEW |