5 #include <common/memory.h>
7 #include "string_metrics.h"
9 namespace caspar { namespace core { namespace text {
17 texture_font(const texture_font&);
18 const texture_font& operator=(const texture_font&);
21 texture_font(texture_atlas&, const std::wstring& filename, float size);
22 void load_glyphs(unicode_block block, const color<float>& col);
23 std::vector<float> create_vertex_stream(const std::wstring& str, int x, int y, int parent_width, int parent_height, string_metrics* metrics);
24 string_metrics measure_string(const std::wstring& str);
28 spl::shared_ptr<impl> impl_;
38 Spacing_Modifier_Letters,
39 Combining_Diacritical_Marks,
72 Unified_Canadian_Aboriginal_Syllabics,
81 Unified_Canadian_Aboriginal_Syllabics_Extended,
96 Phonetic_Extensions_Supplement,
97 Combining_Diacritical_Marks_Supplement,
98 Latin_Extended_Additional,
101 Superscripts_and_Subscripts,
103 Combining_Diacritical_Marks_for_Symbols,
107 Mathematical_Operators,
108 Miscellaneous_Technical,
110 Optical_Character_Recognition,
111 Enclosed_Alphanumerics,
115 Miscellaneous_Symbols,
117 Miscellaneous_Mathematical_Symbols_A,
118 Supplemental_Arrows_A,
120 Supplemental_Arrows_B,
121 Miscellaneous_Mathematical_Symbols_B,
122 Supplemental_Mathematical_Operators,
123 Miscellaneous_Symbols_and_Arrows,
131 Supplemental_Punctuation,
132 CJK_Radicals_Supplement,
134 Ideographic_Description_Characters,
135 CJK_Symbols_and_Punctuation,
139 Hangul_Compatibility_Jamo,
143 Katakana_Phonetic_Extensions,
144 Enclosed_CJK_Letters_and_Months,
146 CJK_Unified_Ideographs_Extension_A,
147 Yijing_Hexagram_Symbols,
148 CJK_Unified_Ideographs,
155 Modifier_Tone_Letters,
158 Common_Indic_Number_Forms,
164 Hangul_Jamo_Extended_A,
169 Meetei_Mayek_Extensions,
173 Hangul_Jamo_Extended_B,
175 High_Private_Use_Surrogates,
178 CJK_Compatibility_Ideographs,
179 Alphabetic_Presentation_Forms,
180 Arabic_Presentation_Forms_A,
183 Combining_Half_Marks,
184 CJK_Compatibility_Forms,
186 Arabic_Presentation_Forms_B,
187 Halfwidth_and_Fullwidth_Forms,
192 Ancient_Greek_Numbers,
208 Meroitic_Hieroglyphs,
213 Inscriptional_Parthian,
214 Inscriptional_Pahlavi,
216 Rumi_Numeral_Symbols,
224 Cuneiform_Numbers_and_Punctuation,
225 Egyptian_Hieroglyphs,
229 Byzantine_Musical_Symbols,
231 Ancient_Greek_Musical_Notation,
232 Tai_Xuan_Jing_Symbols,
233 Counting_Rod_Numerals,
234 Mathematical_Alphanumeric_Symbols,
235 Arabic_Mathematical_Alphabetic_Symbols,
239 Enclosed_Alphanumeric_Supplement,
240 Enclosed_Ideographic_Supplement,
241 Miscellaneous_Symbols_And_Pictographs,
243 Transport_And_Map_Symbols,
245 CJK_Unified_Ideographs_Extension_B,
246 CJK_Unified_Ideographs_Extension_C,
247 CJK_Unified_Ideographs_Extension_D,
248 CJK_Compatibility_Ideographs_Supplement,
250 Variation_Selectors_Supplement,
251 Supplementary_Private_Use_Area_A,
252 Supplementary_Private_Use_Area_B