| 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 |