RetroArch
dwrite.h
Go to the documentation of this file.
1 //+--------------------------------------------------------------------------
2 //
3 // Copyright (c) Microsoft Corporation. All rights reserved.
4 //
5 // Abstract:
6 // DirectX Typography Services public API definitions.
7 //
8 //----------------------------------------------------------------------------
9 
10 #ifndef DWRITE_H_INCLUDED
11 #define DWRITE_H_INCLUDED
12 
13 #pragma once
14 
15 #ifndef DWRITE_NO_WINDOWS_H
16 
17 #include <specstrings.h>
18 #include <unknwn.h>
19 
20 #endif // DWRITE_NO_WINDOWS_H
21 
22 #include <dcommon.h>
23 
24 #ifndef DWRITE_DECLARE_INTERFACE
25 #define DWRITE_DECLARE_INTERFACE(iid) DECLSPEC_UUID(iid) DECLSPEC_NOVTABLE
26 #endif
27 
28 #ifndef DWRITE_EXPORT
29 #define DWRITE_EXPORT __declspec(dllimport) WINAPI
30 #endif
31 
38 {
43 
48 
53 
58 
63 
68 
73 
78 
79  // The following name is obsolete, but kept as an alias to avoid breaking existing code.
81 };
82 
89 {
94 
99 
104 
109 
114 
119 
124 
132 
133  // The following name is obsolete, but kept as an alias to avoid breaking existing code.
135 };
136 
142 {
147 
152 
157 };
158 
159 #ifdef DEFINE_ENUM_FLAG_OPERATORS
161 #endif
162 
168 {
173 
178 
183 
188 
193 
198 
203 
208 
213 
218 
223 
228 
233 
238 
243 
248 
253 };
254 
261 {
266 
271 
276 
281 
286 
291 
296 
301 
306 
311 
316 };
317 
323 {
328 
333 
338 
339 };
340 
345 {
350 
355 
360 
365 
370 
375 
380 
385 
390 
395 
400 
406 
411 
417 
422 
427 
432 
437 
442 
447 
454 
460 
461  // Obsolete aliases kept to avoid breaking existing code.
465 };
466 
467 
473 {
483 
489 
495 
504 
511 
517 
524 
529 
536 
541 };
542 
548 {
555 
560 
566 
572 
580 
587 
594 };
595 
601 {
607 
613 };
614 
626 {
632 
637 };
638 
649 #define DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d) ( \
650  (static_cast<UINT32>(static_cast<UINT8>(d)) << 24) | \
651  (static_cast<UINT32>(static_cast<UINT8>(c)) << 16) | \
652  (static_cast<UINT32>(static_cast<UINT8>(b)) << 8) | \
653  static_cast<UINT32>(static_cast<UINT8>(a)))
654 
658 #define DWRITE_MAKE_FONT_FEATURE_TAG(a,b,c,d) (static_cast<DWRITE_FONT_FEATURE_TAG>(DWRITE_MAKE_OPENTYPE_TAG(a,b,c,d)))
659 
660 interface IDWriteFontFileStream;
661 
671 interface DWRITE_DECLARE_INTERFACE("727cad4e-d6af-4c9e-8a08-d695b11caa49") IDWriteFontFileLoader : public IUnknown
672 {
684  STDMETHOD(CreateStreamFromKey)(
685  _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey,
686  UINT32 fontFileReferenceKeySize,
687  _COM_Outptr_ IDWriteFontFileStream** fontFileStream
688  ) PURE;
689 };
690 
696 interface DWRITE_DECLARE_INTERFACE("b2d9f3ec-c9fe-4a11-a2ec-d86208f7c0a2") IDWriteLocalFontFileLoader : public IDWriteFontFileLoader
697 {
708  STDMETHOD(GetFilePathLengthFromKey)(
709  _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey,
710  UINT32 fontFileReferenceKeySize,
711  _Out_ UINT32* filePathLength
712  ) PURE;
713 
725  STDMETHOD(GetFilePathFromKey)(
726  _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey,
727  UINT32 fontFileReferenceKeySize,
728  _Out_writes_z_(filePathSize) WCHAR* filePath,
729  UINT32 filePathSize
730  ) PURE;
731 
742  STDMETHOD(GetLastWriteTimeFromKey)(
743  _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey,
744  UINT32 fontFileReferenceKeySize,
745  _Out_ FILETIME* lastWriteTime
746  ) PURE;
747 };
748 
752 interface DWRITE_DECLARE_INTERFACE("6d4865fe-0ab8-4d91-8f62-5dd6be34a3e0") IDWriteFontFileStream : public IUnknown
753 {
768  STDMETHOD(ReadFileFragment)(
769  _Outptr_result_bytebuffer_(fragmentSize) void const** fragmentStart,
770  UINT64 fileOffset,
771  UINT64 fragmentSize,
772  _Out_ void** fragmentContext
773  ) PURE;
774 
779  STDMETHOD_(void, ReleaseFileFragment)(
780  void* fragmentContext
781  ) PURE;
782 
796  STDMETHOD(GetFileSize)(
797  _Out_ UINT64* fileSize
798  ) PURE;
799 
810  STDMETHOD(GetLastWriteTime)(
811  _Out_ UINT64* lastWriteTime
812  ) PURE;
813 };
814 
818 interface DWRITE_DECLARE_INTERFACE("739d886a-cef5-47dc-8769-1a8b41bebbb0") IDWriteFontFile : public IUnknown
819 {
829  STDMETHOD(GetReferenceKey)(
830  _Outptr_result_bytebuffer_(*fontFileReferenceKeySize) void const** fontFileReferenceKey,
831  _Out_ UINT32* fontFileReferenceKeySize
832  ) PURE;
833 
841  STDMETHOD(GetLoader)(
842  _COM_Outptr_ IDWriteFontFileLoader** fontFileLoader
843  ) PURE;
844 
864  STDMETHOD(Analyze)(
865  _Out_ BOOL* isSupportedFontType,
866  _Out_ DWRITE_FONT_FILE_TYPE* fontFileType,
867  _Out_opt_ DWRITE_FONT_FACE_TYPE* fontFaceType,
868  _Out_ UINT32* numberOfFaces
869  ) PURE;
870 };
871 
876 #ifndef DWRITE_PIXEL_GEOMETRY_DEFINED
878 {
883 
889 
895 };
896 #define DWRITE_PIXEL_GEOMETRY_DEFINED
897 #endif
898 
903 {
908 
914 
922 
931 
939 
947 
953 
954  // The following names are obsolete, but are kept as aliases to avoid breaking existing code.
955  // Each of these rendering modes may result in either ClearType or grayscale antialiasing
956  // depending on the DWRITE_TEXT_ANTIALIASING_MODE.
961 };
962 
968 {
973 
978 
983 
988 
993 
998 };
999 
1003 interface DWRITE_DECLARE_INTERFACE("2f0da53a-2add-47cd-82ee-d9ec34688e75") IDWriteRenderingParams : public IUnknown
1004 {
1009  STDMETHOD_(FLOAT, GetGamma)() PURE;
1010 
1015  STDMETHOD_(FLOAT, GetEnhancedContrast)() PURE;
1016 
1021  STDMETHOD_(FLOAT, GetClearTypeLevel)() PURE;
1022 
1026  STDMETHOD_(DWRITE_PIXEL_GEOMETRY, GetPixelGeometry)() PURE;
1027 
1031  STDMETHOD_(DWRITE_RENDERING_MODE, GetRenderingMode)() PURE;
1032 };
1033 
1034 // Forward declarations of D2D types
1035 interface ID2D1SimplifiedGeometrySink;
1036 
1038 
1043 interface DWRITE_DECLARE_INTERFACE("5f49804d-7024-4d43-bfa9-d25984f53849") IDWriteFontFace : public IUnknown
1044 {
1048  STDMETHOD_(DWRITE_FONT_FACE_TYPE, GetType)() PURE;
1049 
1061  STDMETHOD(GetFiles)(
1062  _Inout_ UINT32* numberOfFiles,
1063  _Out_writes_opt_(*numberOfFiles) IDWriteFontFile** fontFiles
1064  ) PURE;
1065 
1070  STDMETHOD_(UINT32, GetIndex)() PURE;
1071 
1075  STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)() PURE;
1076 
1080  STDMETHOD_(BOOL, IsSymbolFont)() PURE;
1081 
1088  STDMETHOD_(void, GetMetrics)(
1089  _Out_ DWRITE_FONT_METRICS* fontFaceMetrics
1090  ) PURE;
1091 
1095  STDMETHOD_(UINT16, GetGlyphCount)() PURE;
1096 
1111  STDMETHOD(GetDesignGlyphMetrics)(
1112  _In_reads_(glyphCount) UINT16 const* glyphIndices,
1113  UINT32 glyphCount,
1114  _Out_writes_(glyphCount) DWRITE_GLYPH_METRICS* glyphMetrics,
1115  BOOL isSideways = FALSE
1116  ) PURE;
1117 
1132  STDMETHOD(GetGlyphIndices)(
1133  _In_reads_(codePointCount) UINT32 const* codePoints,
1134  UINT32 codePointCount,
1135  _Out_writes_(codePointCount) UINT16* glyphIndices
1136  ) PURE;
1137 
1172  STDMETHOD(TryGetFontTable)(
1173  _In_ UINT32 openTypeTableTag,
1174  _Outptr_result_bytebuffer_(*tableSize) const void** tableData,
1175  _Out_ UINT32* tableSize,
1176  _Out_ void** tableContext,
1177  _Out_ BOOL* exists
1178  ) PURE;
1179 
1184  STDMETHOD_(void, ReleaseFontTable)(
1185  _In_ void* tableContext
1186  ) PURE;
1187 
1205  STDMETHOD(GetGlyphRunOutline)(
1206  FLOAT emSize,
1207  _In_reads_(glyphCount) UINT16 const* glyphIndices,
1208  _In_reads_opt_(glyphCount) FLOAT const* glyphAdvances,
1209  _In_reads_opt_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets,
1210  UINT32 glyphCount,
1211  BOOL isSideways,
1212  BOOL isRightToLeft,
1213  _In_ IDWriteGeometrySink* geometrySink
1214  ) PURE;
1215 
1235  STDMETHOD(GetRecommendedRenderingMode)(
1236  FLOAT emSize,
1237  FLOAT pixelsPerDip,
1238  DWRITE_MEASURING_MODE measuringMode,
1239  IDWriteRenderingParams* renderingParams,
1240  _Out_ DWRITE_RENDERING_MODE* renderingMode
1241  ) PURE;
1242 
1254  STDMETHOD(GetGdiCompatibleMetrics)(
1255  FLOAT emSize,
1256  FLOAT pixelsPerDip,
1257  _In_opt_ DWRITE_MATRIX const* transform,
1258  _Out_ DWRITE_FONT_METRICS* fontFaceMetrics
1259  ) PURE;
1260 
1286  STDMETHOD(GetGdiCompatibleGlyphMetrics)(
1287  FLOAT emSize,
1288  FLOAT pixelsPerDip,
1289  _In_opt_ DWRITE_MATRIX const* transform,
1290  BOOL useGdiNatural,
1291  _In_reads_(glyphCount) UINT16 const* glyphIndices,
1292  UINT32 glyphCount,
1293  _Out_writes_(glyphCount) DWRITE_GLYPH_METRICS* glyphMetrics,
1294  BOOL isSideways = FALSE
1295  ) PURE;
1296 };
1297 
1298 
1299 interface IDWriteFactory;
1300 interface IDWriteFontFileEnumerator;
1301 
1311 interface DWRITE_DECLARE_INTERFACE("cca920e4-52f0-492b-bfa8-29c72ee0a468") IDWriteFontCollectionLoader : public IUnknown
1312 {
1325  STDMETHOD(CreateEnumeratorFromKey)(
1326  _In_ IDWriteFactory* factory,
1327  _In_reads_bytes_(collectionKeySize) void const* collectionKey,
1328  UINT32 collectionKeySize,
1329  _COM_Outptr_ IDWriteFontFileEnumerator** fontFileEnumerator
1330  ) PURE;
1331 };
1332 
1337 interface DWRITE_DECLARE_INTERFACE("72755049-5ff7-435d-8348-4be97cfa6c7c") IDWriteFontFileEnumerator : public IUnknown
1338 {
1348  STDMETHOD(MoveNext)(
1349  _Out_ BOOL* hasCurrentFile
1350  ) PURE;
1351 
1359  STDMETHOD(GetCurrentFontFile)(
1360  _COM_Outptr_ IDWriteFontFile** fontFile
1361  ) PURE;
1362 };
1363 
1367 interface DWRITE_DECLARE_INTERFACE("08256209-099a-4b34-b86d-c22b110e7771") IDWriteLocalizedStrings : public IUnknown
1368 {
1372  STDMETHOD_(UINT32, GetCount)() PURE;
1373 
1384  STDMETHOD(FindLocaleName)(
1385  _In_z_ WCHAR const* localeName,
1386  _Out_ UINT32* index,
1387  _Out_ BOOL* exists
1388  ) PURE;
1389 
1398  STDMETHOD(GetLocaleNameLength)(
1399  UINT32 index,
1400  _Out_ UINT32* length
1401  ) PURE;
1402 
1413  STDMETHOD(GetLocaleName)(
1414  UINT32 index,
1415  _Out_writes_z_(size) WCHAR* localeName,
1416  UINT32 size
1417  ) PURE;
1418 
1427  STDMETHOD(GetStringLength)(
1428  UINT32 index,
1429  _Out_ UINT32* length
1430  ) PURE;
1431 
1442  STDMETHOD(GetString)(
1443  UINT32 index,
1444  _Out_writes_z_(size) WCHAR* stringBuffer,
1445  UINT32 size
1446  ) PURE;
1447 };
1448 
1449 interface IDWriteFontFamily;
1450 interface IDWriteFont;
1451 
1455 interface DWRITE_DECLARE_INTERFACE("a84cee02-3eea-4eee-a827-87c1a02a0fcc") IDWriteFontCollection : public IUnknown
1456 {
1460  STDMETHOD_(UINT32, GetFontFamilyCount)() PURE;
1461 
1470  STDMETHOD(GetFontFamily)(
1471  UINT32 index,
1472  _COM_Outptr_ IDWriteFontFamily** fontFamily
1473  ) PURE;
1474 
1484  STDMETHOD(FindFamilyName)(
1485  _In_z_ WCHAR const* familyName,
1486  _Out_ UINT32* index,
1487  _Out_ BOOL* exists
1488  ) PURE;
1489 
1499  STDMETHOD(GetFontFromFontFace)(
1500  _In_ IDWriteFontFace* fontFace,
1501  _COM_Outptr_ IDWriteFont** font
1502  ) PURE;
1503 };
1504 
1508 interface DWRITE_DECLARE_INTERFACE("1a0d8438-1d97-4ec1-aef9-a2fb86ed6acb") IDWriteFontList : public IUnknown
1509 {
1517  STDMETHOD(GetFontCollection)(
1518  _COM_Outptr_ IDWriteFontCollection** fontCollection
1519  ) PURE;
1520 
1524  STDMETHOD_(UINT32, GetFontCount)() PURE;
1525 
1534  STDMETHOD(GetFont)(
1535  UINT32 index,
1536  _COM_Outptr_ IDWriteFont** font
1537  ) PURE;
1538 };
1539 
1544 interface DWRITE_DECLARE_INTERFACE("da20d8ef-812a-4c43-9802-62ec4abd7add") IDWriteFontFamily : public IDWriteFontList
1545 {
1553  STDMETHOD(GetFamilyNames)(
1554  _COM_Outptr_ IDWriteLocalizedStrings** names
1555  ) PURE;
1556 
1567  STDMETHOD(GetFirstMatchingFont)(
1569  DWRITE_FONT_STRETCH stretch,
1570  DWRITE_FONT_STYLE style,
1571  _COM_Outptr_ IDWriteFont** matchingFont
1572  ) PURE;
1573 
1584  STDMETHOD(GetMatchingFonts)(
1586  DWRITE_FONT_STRETCH stretch,
1587  DWRITE_FONT_STYLE style,
1588  _COM_Outptr_ IDWriteFontList** matchingFonts
1589  ) PURE;
1590 };
1591 
1595 interface DWRITE_DECLARE_INTERFACE("acd16696-8c14-4f5d-877e-fe3fc1d32737") IDWriteFont : public IUnknown
1596 {
1604  STDMETHOD(GetFontFamily)(
1605  _COM_Outptr_ IDWriteFontFamily** fontFamily
1606  ) PURE;
1607 
1611  STDMETHOD_(DWRITE_FONT_WEIGHT, GetWeight)() PURE;
1612 
1616  STDMETHOD_(DWRITE_FONT_STRETCH, GetStretch)() PURE;
1617 
1621  STDMETHOD_(DWRITE_FONT_STYLE, GetStyle)() PURE;
1622 
1626  STDMETHOD_(BOOL, IsSymbolFont)() PURE;
1627 
1635  STDMETHOD(GetFaceNames)(
1636  _COM_Outptr_ IDWriteLocalizedStrings** names
1637  ) PURE;
1638 
1649  STDMETHOD(GetInformationalStrings)(
1650  DWRITE_INFORMATIONAL_STRING_ID informationalStringID,
1651  _COM_Outptr_result_maybenull_ IDWriteLocalizedStrings** informationalStrings,
1652  _Out_ BOOL* exists
1653  ) PURE;
1654 
1658  STDMETHOD_(DWRITE_FONT_SIMULATIONS, GetSimulations)() PURE;
1659 
1664  STDMETHOD_(void, GetMetrics)(
1665  _Out_ DWRITE_FONT_METRICS* fontMetrics
1666  ) PURE;
1667 
1676  STDMETHOD(HasCharacter)(
1677  UINT32 unicodeValue,
1678  _Out_ BOOL* exists
1679  ) PURE;
1680 
1688  STDMETHOD(CreateFontFace)(
1689  _COM_Outptr_ IDWriteFontFace** fontFace
1690  ) PURE;
1691 };
1692 
1697 {
1702 
1707 
1712 
1717 };
1718 
1723 {
1728 
1733 
1738 
1743 };
1744 
1750 {
1755 
1760 
1765 
1770 };
1771 
1777 {
1782 
1787 
1792 };
1793 
1798 {
1803 
1809 
1815 
1821 
1826 };
1827 
1832 {
1837 
1843 
1848 };
1849 
1854 {
1859 
1864 
1869 };
1870 
1878 {
1960 };
1961 
1966 {
1971 
1976 };
1977 
1982 {
1987 
1996 };
1997 
2004 {
2009 
2014 };
2015 
2020 {
2025 
2032 
2037 };
2038 
2039 
2040 interface IDWriteTypography;
2041 interface IDWriteInlineObject;
2042 
2049 interface DWRITE_DECLARE_INTERFACE("9c906818-31d7-4fd3-a151-7c5e225db55a") IDWriteTextFormat : public IUnknown
2050 {
2058  STDMETHOD(SetTextAlignment)(
2059  DWRITE_TEXT_ALIGNMENT textAlignment
2060  ) PURE;
2061 
2069  STDMETHOD(SetParagraphAlignment)(
2070  DWRITE_PARAGRAPH_ALIGNMENT paragraphAlignment
2071  ) PURE;
2072 
2080  STDMETHOD(SetWordWrapping)(
2081  DWRITE_WORD_WRAPPING wordWrapping
2082  ) PURE;
2083 
2096  STDMETHOD(SetReadingDirection)(
2097  DWRITE_READING_DIRECTION readingDirection
2098  ) PURE;
2099 
2112  STDMETHOD(SetFlowDirection)(
2113  DWRITE_FLOW_DIRECTION flowDirection
2114  ) PURE;
2115 
2123  STDMETHOD(SetIncrementalTabStop)(
2124  FLOAT incrementalTabStop
2125  ) PURE;
2126 
2141  STDMETHOD(SetTrimming)(
2142  _In_ DWRITE_TRIMMING const* trimmingOptions,
2143  _In_opt_ IDWriteInlineObject* trimmingSign
2144  ) PURE;
2145 
2159  STDMETHOD(SetLineSpacing)(
2160  DWRITE_LINE_SPACING_METHOD lineSpacingMethod,
2161  FLOAT lineSpacing,
2162  FLOAT baseline
2163  ) PURE;
2164 
2168  STDMETHOD_(DWRITE_TEXT_ALIGNMENT, GetTextAlignment)() PURE;
2169 
2173  STDMETHOD_(DWRITE_PARAGRAPH_ALIGNMENT, GetParagraphAlignment)() PURE;
2174 
2178  STDMETHOD_(DWRITE_WORD_WRAPPING, GetWordWrapping)() PURE;
2179 
2183  STDMETHOD_(DWRITE_READING_DIRECTION, GetReadingDirection)() PURE;
2184 
2188  STDMETHOD_(DWRITE_FLOW_DIRECTION, GetFlowDirection)() PURE;
2189 
2193  STDMETHOD_(FLOAT, GetIncrementalTabStop)() PURE;
2194 
2203  STDMETHOD(GetTrimming)(
2204  _Out_ DWRITE_TRIMMING* trimmingOptions,
2205  _COM_Outptr_ IDWriteInlineObject** trimmingSign
2206  ) PURE;
2207 
2217  STDMETHOD(GetLineSpacing)(
2218  _Out_ DWRITE_LINE_SPACING_METHOD* lineSpacingMethod,
2219  _Out_ FLOAT* lineSpacing,
2220  _Out_ FLOAT* baseline
2221  ) PURE;
2222 
2230  STDMETHOD(GetFontCollection)(
2231  _COM_Outptr_ IDWriteFontCollection** fontCollection
2232  ) PURE;
2233 
2237  STDMETHOD_(UINT32, GetFontFamilyNameLength)() PURE;
2238 
2247  STDMETHOD(GetFontFamilyName)(
2248  _Out_writes_z_(nameSize) WCHAR* fontFamilyName,
2249  UINT32 nameSize
2250  ) PURE;
2251 
2255  STDMETHOD_(DWRITE_FONT_WEIGHT, GetFontWeight)() PURE;
2256 
2260  STDMETHOD_(DWRITE_FONT_STYLE, GetFontStyle)() PURE;
2261 
2265  STDMETHOD_(DWRITE_FONT_STRETCH, GetFontStretch)() PURE;
2266 
2270  STDMETHOD_(FLOAT, GetFontSize)() PURE;
2271 
2275  STDMETHOD_(UINT32, GetLocaleNameLength)() PURE;
2276 
2285  STDMETHOD(GetLocaleName)(
2286  _Out_writes_z_(nameSize) WCHAR* localeName,
2287  UINT32 nameSize
2288  ) PURE;
2289 };
2290 
2291 
2295 interface DWRITE_DECLARE_INTERFACE("55f1112b-1dc2-4b3c-9541-f46894ed85b6") IDWriteTypography : public IUnknown
2296 {
2304  STDMETHOD(AddFontFeature)(
2305  DWRITE_FONT_FEATURE fontFeature
2306  ) PURE;
2307 
2311  STDMETHOD_(UINT32, GetFontFeatureCount)() PURE;
2312 
2321  STDMETHOD(GetFontFeature)(
2322  UINT32 fontFeatureIndex,
2323  _Out_ DWRITE_FONT_FEATURE* fontFeature
2324  ) PURE;
2325 };
2326 
2328 {
2333 
2338 };
2339 
2340 #ifdef DEFINE_ENUM_FLAG_OPERATORS
2342 #endif
2343 
2348 {
2353 
2358 };
2359 
2365 {
2371 
2378 
2384 
2390 };
2391 
2396 {
2401 
2406 
2412 
2418 
2420 };
2421 
2426 {
2432 
2440 
2446 
2452 
2461 };
2462 
2466 interface DWRITE_DECLARE_INTERFACE("14885CC9-BAB0-4f90-B6ED-5C366A2CD03D") IDWriteNumberSubstitution : public IUnknown
2467 {
2468 };
2469 
2474 {
2480 
2485 };
2486 
2491 {
2498 
2503 
2508 
2513 
2518 };
2519 
2531 interface DWRITE_DECLARE_INTERFACE("688e1a58-5094-47c8-adc8-fbcea60ae92b") IDWriteTextAnalysisSource : public IUnknown
2532 {
2559  STDMETHOD(GetTextAtPosition)(
2560  UINT32 textPosition,
2561  _Outptr_result_buffer_(*textLength) WCHAR const** textString,
2562  _Out_ UINT32* textLength
2563  ) PURE;
2564 
2584  STDMETHOD(GetTextBeforePosition)(
2585  UINT32 textPosition,
2586  _Outptr_result_buffer_(*textLength) WCHAR const** textString,
2587  _Out_ UINT32* textLength
2588  ) PURE;
2589 
2593  STDMETHOD_(DWRITE_READING_DIRECTION, GetParagraphReadingDirection)() PURE;
2594 
2607  STDMETHOD(GetLocaleName)(
2608  UINT32 textPosition,
2609  _Out_ UINT32* textLength,
2610  _Outptr_result_z_ WCHAR const** localeName
2611  ) PURE;
2612 
2627  STDMETHOD(GetNumberSubstitution)(
2628  UINT32 textPosition,
2629  _Out_ UINT32* textLength,
2630  _COM_Outptr_ IDWriteNumberSubstitution** numberSubstitution
2631  ) PURE;
2632 };
2633 
2640 interface DWRITE_DECLARE_INTERFACE("5810cd44-0ca0-4701-b3fa-bec5182ae4f6") IDWriteTextAnalysisSink : public IUnknown
2641 {
2651  STDMETHOD(SetScriptAnalysis)(
2652  UINT32 textPosition,
2653  UINT32 textLength,
2654  _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis
2655  ) PURE;
2656 
2667  STDMETHOD(SetLineBreakpoints)(
2668  UINT32 textPosition,
2669  UINT32 textLength,
2670  _In_reads_(textLength) DWRITE_LINE_BREAKPOINT const* lineBreakpoints
2671  ) PURE;
2672 
2687  STDMETHOD(SetBidiLevel)(
2688  UINT32 textPosition,
2689  UINT32 textLength,
2690  UINT8 explicitLevel,
2691  UINT8 resolvedLevel
2692  ) PURE;
2693 
2711  STDMETHOD(SetNumberSubstitution)(
2712  UINT32 textPosition,
2713  UINT32 textLength,
2714  _In_ IDWriteNumberSubstitution* numberSubstitution
2715  ) PURE;
2716 };
2717 
2721 interface DWRITE_DECLARE_INTERFACE("b7e6163e-7f46-43b4-84b3-e4e6249c365d") IDWriteTextAnalyzer : public IUnknown
2722 {
2735  STDMETHOD(AnalyzeScript)(
2736  _In_ IDWriteTextAnalysisSource* analysisSource,
2737  UINT32 textPosition,
2738  UINT32 textLength,
2739  _In_ IDWriteTextAnalysisSink* analysisSink
2740  ) PURE;
2741 
2762  STDMETHOD(AnalyzeBidi)(
2763  _In_ IDWriteTextAnalysisSource* analysisSource,
2764  UINT32 textPosition,
2765  UINT32 textLength,
2766  _In_ IDWriteTextAnalysisSink* analysisSink
2767  ) PURE;
2768 
2790  STDMETHOD(AnalyzeNumberSubstitution)(
2791  _In_ IDWriteTextAnalysisSource* analysisSource,
2792  UINT32 textPosition,
2793  UINT32 textLength,
2794  _In_ IDWriteTextAnalysisSink* analysisSink
2795  ) PURE;
2796 
2825  STDMETHOD(AnalyzeLineBreakpoints)(
2826  _In_ IDWriteTextAnalysisSource* analysisSource,
2827  UINT32 textPosition,
2828  UINT32 textLength,
2829  _In_ IDWriteTextAnalysisSink* analysisSink
2830  ) PURE;
2831 
2878  STDMETHOD(GetGlyphs)(
2879  _In_reads_(textLength) WCHAR const* textString,
2880  UINT32 textLength,
2881  _In_ IDWriteFontFace* fontFace,
2882  BOOL isSideways,
2883  BOOL isRightToLeft,
2884  _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis,
2885  _In_opt_z_ WCHAR const* localeName,
2886  _In_opt_ IDWriteNumberSubstitution* numberSubstitution,
2887  _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features,
2888  _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths,
2889  UINT32 featureRanges,
2890  UINT32 maxGlyphCount,
2891  _Out_writes_(textLength) UINT16* clusterMap,
2892  _Out_writes_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps,
2893  _Out_writes_(maxGlyphCount) UINT16* glyphIndices,
2894  _Out_writes_(maxGlyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES* glyphProps,
2895  _Out_ UINT32* actualGlyphCount
2896  ) PURE;
2897 
2930  STDMETHOD(GetGlyphPlacements)(
2931  _In_reads_(textLength) WCHAR const* textString,
2932  _In_reads_(textLength) UINT16 const* clusterMap,
2933  _In_reads_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps,
2934  UINT32 textLength,
2935  _In_reads_(glyphCount) UINT16 const* glyphIndices,
2936  _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps,
2937  UINT32 glyphCount,
2938  _In_ IDWriteFontFace* fontFace,
2939  FLOAT fontEmSize,
2940  BOOL isSideways,
2941  BOOL isRightToLeft,
2942  _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis,
2943  _In_opt_z_ WCHAR const* localeName,
2944  _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features,
2945  _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths,
2946  UINT32 featureRanges,
2947  _Out_writes_(glyphCount) FLOAT* glyphAdvances,
2948  _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* glyphOffsets
2949  ) PURE;
2950 
2992  STDMETHOD(GetGdiCompatibleGlyphPlacements)(
2993  _In_reads_(textLength) WCHAR const* textString,
2994  _In_reads_(textLength) UINT16 const* clusterMap,
2995  _In_reads_(textLength) DWRITE_SHAPING_TEXT_PROPERTIES* textProps,
2996  UINT32 textLength,
2997  _In_reads_(glyphCount) UINT16 const* glyphIndices,
2998  _In_reads_(glyphCount) DWRITE_SHAPING_GLYPH_PROPERTIES const* glyphProps,
2999  UINT32 glyphCount,
3000  _In_ IDWriteFontFace * fontFace,
3001  FLOAT fontEmSize,
3002  FLOAT pixelsPerDip,
3003  _In_opt_ DWRITE_MATRIX const* transform,
3004  BOOL useGdiNatural,
3005  BOOL isSideways,
3006  BOOL isRightToLeft,
3007  _In_ DWRITE_SCRIPT_ANALYSIS const* scriptAnalysis,
3008  _In_opt_z_ WCHAR const* localeName,
3009  _In_reads_opt_(featureRanges) DWRITE_TYPOGRAPHIC_FEATURES const** features,
3010  _In_reads_opt_(featureRanges) UINT32 const* featureRangeLengths,
3011  UINT32 featureRanges,
3012  _Out_writes_(glyphCount) FLOAT* glyphAdvances,
3013  _Out_writes_(glyphCount) DWRITE_GLYPH_OFFSET* glyphOffsets
3014  ) PURE;
3015 };
3016 
3022 {
3027 
3032 
3037 
3041  _Field_size_(glyphCount) UINT16 const* glyphIndices;
3042 
3046  _Field_size_opt_(glyphCount) FLOAT const* glyphAdvances;
3047 
3051  _Field_size_opt_(glyphCount) DWRITE_GLYPH_OFFSET const* glyphOffsets;
3052 
3060 
3069 };
3070 
3076 {
3080  _Field_z_ WCHAR const* localeName;
3081 
3085  _Field_size_(stringLength) WCHAR const* string;
3086 
3092 
3097  _Field_size_opt_(stringLength) UINT16 const* clusterMap;
3098 
3104 };
3105 
3112 {
3117 
3123 
3130 
3135 
3142 
3149 
3157  _Field_z_ WCHAR const* localeName;
3158 
3165 };
3166 
3173 {
3178 
3184 
3191 
3198 
3205 
3209  _Field_z_ WCHAR const* localeName;
3210 
3217 };
3218 
3224 {
3230 
3236 
3243 
3248 
3253 
3258 };
3259 
3260 
3265 {
3270 
3275 
3280 
3285 
3290 
3295 
3300 
3302 };
3303 
3304 
3310 {
3316 
3322 
3328 
3334 
3340 
3347 
3353 
3361 
3366 };
3367 
3368 
3374 {
3379 
3384 
3390 
3396 };
3397 
3398 
3411 {
3416 
3421 
3426 
3431 };
3432 
3433 
3438 {
3443 
3448 
3453 
3458 
3463 
3468 
3473 
3478 
3483 };
3484 
3485 
3486 interface IDWriteTextRenderer;
3487 
3488 
3493 interface DWRITE_DECLARE_INTERFACE("8339FDE3-106F-47ab-8373-1C6295EB10B3") IDWriteInlineObject : public IUnknown
3494 {
3510  STDMETHOD(Draw)(
3511  _In_opt_ void* clientDrawingContext,
3512  _In_ IDWriteTextRenderer* renderer,
3513  FLOAT originX,
3514  FLOAT originY,
3515  BOOL isSideways,
3516  BOOL isRightToLeft,
3517  _In_opt_ IUnknown* clientDrawingEffect
3518  ) PURE;
3519 
3527  STDMETHOD(GetMetrics)(
3529  ) PURE;
3530 
3547  STDMETHOD(GetOverhangMetrics)(
3548  _Out_ DWRITE_OVERHANG_METRICS* overhangs
3549  ) PURE;
3550 
3560  STDMETHOD(GetBreakConditions)(
3561  _Out_ DWRITE_BREAK_CONDITION* breakConditionBefore,
3562  _Out_ DWRITE_BREAK_CONDITION* breakConditionAfter
3563  ) PURE;
3564 };
3565 
3569 interface DWRITE_DECLARE_INTERFACE("eaf3a2da-ecf4-4d24-b644-b34f6842024b") IDWritePixelSnapping : public IUnknown
3570 {
3580  STDMETHOD(IsPixelSnappingDisabled)(
3581  _In_opt_ void* clientDrawingContext,
3582  _Out_ BOOL* isDisabled
3583  ) PURE;
3584 
3594  STDMETHOD(GetCurrentTransform)(
3595  _In_opt_ void* clientDrawingContext,
3596  _Out_ DWRITE_MATRIX* transform
3597  ) PURE;
3598 
3609  STDMETHOD(GetPixelsPerDip)(
3610  _In_opt_ void* clientDrawingContext,
3611  _Out_ FLOAT* pixelsPerDip
3612  ) PURE;
3613 };
3614 
3620 interface DWRITE_DECLARE_INTERFACE("ef8a8135-5cc6-45fe-8825-c5a0724eb819") IDWriteTextRenderer : public IDWritePixelSnapping
3621 {
3645  STDMETHOD(DrawGlyphRun)(
3646  _In_opt_ void* clientDrawingContext,
3647  FLOAT baselineOriginX,
3648  FLOAT baselineOriginY,
3649  DWRITE_MEASURING_MODE measuringMode,
3650  _In_ DWRITE_GLYPH_RUN const* glyphRun,
3651  _In_ DWRITE_GLYPH_RUN_DESCRIPTION const* glyphRunDescription,
3652  _In_opt_ IUnknown* clientDrawingEffect
3653  ) PURE;
3654 
3682  STDMETHOD(DrawUnderline)(
3683  _In_opt_ void* clientDrawingContext,
3684  FLOAT baselineOriginX,
3685  FLOAT baselineOriginY,
3686  _In_ DWRITE_UNDERLINE const* underline,
3687  _In_opt_ IUnknown* clientDrawingEffect
3688  ) PURE;
3689 
3713  STDMETHOD(DrawStrikethrough)(
3714  _In_opt_ void* clientDrawingContext,
3715  FLOAT baselineOriginX,
3716  FLOAT baselineOriginY,
3717  _In_ DWRITE_STRIKETHROUGH const* strikethrough,
3718  _In_opt_ IUnknown* clientDrawingEffect
3719  ) PURE;
3720 
3741  STDMETHOD(DrawInlineObject)(
3742  _In_opt_ void* clientDrawingContext,
3743  FLOAT originX,
3744  FLOAT originY,
3745  _In_ IDWriteInlineObject* inlineObject,
3746  BOOL isSideways,
3747  BOOL isRightToLeft,
3748  _In_opt_ IUnknown* clientDrawingEffect
3749  ) PURE;
3750 };
3751 
3758 interface DWRITE_DECLARE_INTERFACE("53737037-6d14-410b-9bfe-0b182bb70961") IDWriteTextLayout : public IDWriteTextFormat
3759 {
3767  STDMETHOD(SetMaxWidth)(
3768  FLOAT maxWidth
3769  ) PURE;
3770 
3778  STDMETHOD(SetMaxHeight)(
3779  FLOAT maxHeight
3780  ) PURE;
3781 
3790  STDMETHOD(SetFontCollection)(
3791  _In_ IDWriteFontCollection* fontCollection,
3792  DWRITE_TEXT_RANGE textRange
3793  ) PURE;
3794 
3803  STDMETHOD(SetFontFamilyName)(
3804  _In_z_ WCHAR const* fontFamilyName,
3805  DWRITE_TEXT_RANGE textRange
3806  ) PURE;
3807 
3816  STDMETHOD(SetFontWeight)(
3817  DWRITE_FONT_WEIGHT fontWeight,
3818  DWRITE_TEXT_RANGE textRange
3819  ) PURE;
3820 
3829  STDMETHOD(SetFontStyle)(
3831  DWRITE_TEXT_RANGE textRange
3832  ) PURE;
3833 
3842  STDMETHOD(SetFontStretch)(
3843  DWRITE_FONT_STRETCH fontStretch,
3844  DWRITE_TEXT_RANGE textRange
3845  ) PURE;
3846 
3855  STDMETHOD(SetFontSize)(
3856  FLOAT fontSize,
3857  DWRITE_TEXT_RANGE textRange
3858  ) PURE;
3859 
3868  STDMETHOD(SetUnderline)(
3869  BOOL hasUnderline,
3870  DWRITE_TEXT_RANGE textRange
3871  ) PURE;
3872 
3881  STDMETHOD(SetStrikethrough)(
3882  BOOL hasStrikethrough,
3883  DWRITE_TEXT_RANGE textRange
3884  ) PURE;
3885 
3898  STDMETHOD(SetDrawingEffect)(
3899  IUnknown* drawingEffect,
3900  DWRITE_TEXT_RANGE textRange
3901  ) PURE;
3902 
3916  STDMETHOD(SetInlineObject)(
3917  _In_ IDWriteInlineObject* inlineObject,
3918  DWRITE_TEXT_RANGE textRange
3919  ) PURE;
3920 
3929  STDMETHOD(SetTypography)(
3930  _In_ IDWriteTypography* typography,
3931  DWRITE_TEXT_RANGE textRange
3932  ) PURE;
3933 
3942  STDMETHOD(SetLocaleName)(
3943  _In_z_ WCHAR const* localeName,
3944  DWRITE_TEXT_RANGE textRange
3945  ) PURE;
3946 
3950  STDMETHOD_(FLOAT, GetMaxWidth)() PURE;
3951 
3955  STDMETHOD_(FLOAT, GetMaxHeight)() PURE;
3956 
3966  STDMETHOD(GetFontCollection)(
3967  UINT32 currentPosition,
3968  _COM_Outptr_ IDWriteFontCollection** fontCollection,
3969  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
3970  ) PURE;
3971 
3981  STDMETHOD(GetFontFamilyNameLength)(
3982  UINT32 currentPosition,
3983  _Out_ UINT32* nameLength,
3984  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
3985  ) PURE;
3986 
3997  STDMETHOD(GetFontFamilyName)(
3998  UINT32 currentPosition,
3999  _Out_writes_z_(nameSize) WCHAR* fontFamilyName,
4000  UINT32 nameSize,
4001  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4002  ) PURE;
4003 
4013  STDMETHOD(GetFontWeight)(
4014  UINT32 currentPosition,
4015  _Out_ DWRITE_FONT_WEIGHT* fontWeight,
4016  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4017  ) PURE;
4018 
4028  STDMETHOD(GetFontStyle)(
4029  UINT32 currentPosition,
4031  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4032  ) PURE;
4033 
4043  STDMETHOD(GetFontStretch)(
4044  UINT32 currentPosition,
4045  _Out_ DWRITE_FONT_STRETCH* fontStretch,
4046  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4047  ) PURE;
4048 
4058  STDMETHOD(GetFontSize)(
4059  UINT32 currentPosition,
4060  _Out_ FLOAT* fontSize,
4061  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4062  ) PURE;
4063 
4073  STDMETHOD(GetUnderline)(
4074  UINT32 currentPosition,
4075  _Out_ BOOL* hasUnderline,
4076  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4077  ) PURE;
4078 
4088  STDMETHOD(GetStrikethrough)(
4089  UINT32 currentPosition,
4090  _Out_ BOOL* hasStrikethrough,
4091  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4092  ) PURE;
4093 
4103  STDMETHOD(GetDrawingEffect)(
4104  UINT32 currentPosition,
4105  _COM_Outptr_ IUnknown** drawingEffect,
4106  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4107  ) PURE;
4108 
4118  STDMETHOD(GetInlineObject)(
4119  UINT32 currentPosition,
4120  _COM_Outptr_ IDWriteInlineObject** inlineObject,
4121  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4122  ) PURE;
4123 
4133  STDMETHOD(GetTypography)(
4134  UINT32 currentPosition,
4135  _COM_Outptr_ IDWriteTypography** typography,
4136  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4137  ) PURE;
4138 
4148  STDMETHOD(GetLocaleNameLength)(
4149  UINT32 currentPosition,
4150  _Out_ UINT32* nameLength,
4151  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4152  ) PURE;
4153 
4164  STDMETHOD(GetLocaleName)(
4165  UINT32 currentPosition,
4166  _Out_writes_z_(nameSize) WCHAR* localeName,
4167  UINT32 nameSize,
4168  _Out_opt_ DWRITE_TEXT_RANGE* textRange = NULL
4169  ) PURE;
4170 
4183  STDMETHOD(Draw)(
4184  _In_opt_ void* clientDrawingContext,
4185  _In_ IDWriteTextRenderer* renderer,
4186  FLOAT originX,
4187  FLOAT originY
4188  ) PURE;
4189 
4206  STDMETHOD(GetLineMetrics)(
4207  _Out_writes_opt_(maxLineCount) DWRITE_LINE_METRICS* lineMetrics,
4208  UINT32 maxLineCount,
4209  _Out_ UINT32* actualLineCount
4210  ) PURE;
4211 
4225  STDMETHOD(GetMetrics)(
4226  _Out_ DWRITE_TEXT_METRICS* textMetrics
4227  ) PURE;
4228 
4242  STDMETHOD(GetOverhangMetrics)(
4243  _Out_ DWRITE_OVERHANG_METRICS* overhangs
4244  ) PURE;
4245 
4261  STDMETHOD(GetClusterMetrics)(
4262  _Out_writes_opt_(maxClusterCount) DWRITE_CLUSTER_METRICS* clusterMetrics,
4263  UINT32 maxClusterCount,
4264  _Out_ UINT32* actualClusterCount
4265  ) PURE;
4266 
4275  STDMETHOD(DetermineMinWidth)(
4276  _Out_ FLOAT* minWidth
4277  ) PURE;
4278 
4299  STDMETHOD(HitTestPoint)(
4300  FLOAT pointX,
4301  FLOAT pointY,
4302  _Out_ BOOL* isTrailingHit,
4303  _Out_ BOOL* isInside,
4304  _Out_ DWRITE_HIT_TEST_METRICS* hitTestMetrics
4305  ) PURE;
4306 
4334  STDMETHOD(HitTestTextPosition)(
4335  UINT32 textPosition,
4336  BOOL isTrailingHit,
4337  _Out_ FLOAT* pointX,
4338  _Out_ FLOAT* pointY,
4339  _Out_ DWRITE_HIT_TEST_METRICS* hitTestMetrics
4340  ) PURE;
4341 
4382  STDMETHOD(HitTestTextRange)(
4383  UINT32 textPosition,
4384  UINT32 textLength,
4385  FLOAT originX,
4386  FLOAT originY,
4387  _Out_writes_opt_(maxHitTestMetricsCount) DWRITE_HIT_TEST_METRICS* hitTestMetrics,
4388  UINT32 maxHitTestMetricsCount,
4389  _Out_ UINT32* actualHitTestMetricsCount
4390  ) PURE;
4391 
4392  using IDWriteTextFormat::GetFontCollection;
4393  using IDWriteTextFormat::GetFontFamilyNameLength;
4394  using IDWriteTextFormat::GetFontFamilyName;
4395  using IDWriteTextFormat::GetFontWeight;
4396  using IDWriteTextFormat::GetFontStyle;
4397  using IDWriteTextFormat::GetFontStretch;
4398  using IDWriteTextFormat::GetFontSize;
4399  using IDWriteTextFormat::GetLocaleNameLength;
4400  using IDWriteTextFormat::GetLocaleName;
4401 };
4402 
4403 
4407 interface DWRITE_DECLARE_INTERFACE("5e5a32a3-8dff-4773-9ff6-0696eab77267") IDWriteBitmapRenderTarget : public IUnknown
4408 {
4428  STDMETHOD(DrawGlyphRun)(
4429  FLOAT baselineOriginX,
4430  FLOAT baselineOriginY,
4431  DWRITE_MEASURING_MODE measuringMode,
4432  _In_ DWRITE_GLYPH_RUN const* glyphRun,
4433  _In_ IDWriteRenderingParams* renderingParams,
4434  COLORREF textColor,
4435  _Out_opt_ RECT* blackBoxRect = NULL
4436  ) PURE;
4437 
4450  STDMETHOD_(HDC, GetMemoryDC)() PURE;
4451 
4459  STDMETHOD_(FLOAT, GetPixelsPerDip)() PURE;
4460 
4469  STDMETHOD(SetPixelsPerDip)(
4470  FLOAT pixelsPerDip
4471  ) PURE;
4472 
4482  STDMETHOD(GetCurrentTransform)(
4483  _Out_ DWRITE_MATRIX* transform
4484  ) PURE;
4485 
4495  STDMETHOD(SetCurrentTransform)(
4496  _In_opt_ DWRITE_MATRIX const* transform
4497  ) PURE;
4498 
4506  STDMETHOD(GetSize)(
4507  _Out_ SIZE* size
4508  ) PURE;
4509 
4518  STDMETHOD(Resize)(
4519  UINT32 width,
4520  UINT32 height
4521  ) PURE;
4522 };
4523 
4527 interface DWRITE_DECLARE_INTERFACE("1edd9491-9853-4299-898f-6432983b6f3a") IDWriteGdiInterop : public IUnknown
4528 {
4538  STDMETHOD(CreateFontFromLOGFONT)(
4539  _In_ LOGFONTW const* logFont,
4540  _COM_Outptr_ IDWriteFont** font
4541  ) PURE;
4542 
4553  STDMETHOD(ConvertFontToLOGFONT)(
4554  _In_ IDWriteFont* font,
4555  _Out_ LOGFONTW* logFont,
4556  _Out_ BOOL* isSystemFont
4557  ) PURE;
4558 
4567  STDMETHOD(ConvertFontFaceToLOGFONT)(
4568  _In_ IDWriteFontFace* font,
4569  _Out_ LOGFONTW* logFont
4570  ) PURE;
4571 
4582  STDMETHOD(CreateFontFaceFromHdc)(
4583  HDC hdc,
4584  _COM_Outptr_ IDWriteFontFace** fontFace
4585  ) PURE;
4586 
4594  STDMETHOD(CreateBitmapRenderTarget)(
4595  _In_opt_ HDC hdc,
4596  UINT32 width,
4597  UINT32 height,
4598  _COM_Outptr_ IDWriteBitmapRenderTarget** renderTarget
4599  ) PURE;
4600 };
4601 
4607 {
4613 
4619 };
4620 
4624 #define DWRITE_ALPHA_MAX 255
4625 
4629 interface DWRITE_DECLARE_INTERFACE("7d97dbf7-e085-42d4-81e3-6a883bded118") IDWriteGlyphRunAnalysis : public IUnknown
4630 {
4642  STDMETHOD(GetAlphaTextureBounds)(
4643  DWRITE_TEXTURE_TYPE textureType,
4644  _Out_ RECT* textureBounds
4645  ) PURE;
4646 
4660  STDMETHOD(CreateAlphaTexture)(
4661  DWRITE_TEXTURE_TYPE textureType,
4662  _In_ RECT const* textureBounds,
4663  _Out_writes_bytes_(bufferSize) BYTE* alphaValues,
4664  UINT32 bufferSize
4665  ) PURE;
4666 
4676  STDMETHOD(GetAlphaBlendParams)(
4677  _In_ IDWriteRenderingParams* renderingParams,
4678  _Out_ FLOAT* blendGamma,
4679  _Out_ FLOAT* blendEnhancedContrast,
4680  _Out_ FLOAT* blendClearTypeLevel
4681  ) PURE;
4682 };
4683 
4687 interface DWRITE_DECLARE_INTERFACE("b859ee5a-d838-4b5b-a2e8-1adc7d93db48") IDWriteFactory : public IUnknown
4688 {
4700  STDMETHOD(GetSystemFontCollection)(
4701  _COM_Outptr_ IDWriteFontCollection** fontCollection,
4702  BOOL checkForUpdates = FALSE
4703  ) PURE;
4704 
4716  STDMETHOD(CreateCustomFontCollection)(
4717  _In_ IDWriteFontCollectionLoader* collectionLoader,
4718  _In_reads_bytes_(collectionKeySize) void const* collectionKey,
4719  UINT32 collectionKeySize,
4720  _COM_Outptr_ IDWriteFontCollection** fontCollection
4721  ) PURE;
4722 
4730  STDMETHOD(RegisterFontCollectionLoader)(
4731  _In_ IDWriteFontCollectionLoader* fontCollectionLoader
4732  ) PURE;
4733 
4741  STDMETHOD(UnregisterFontCollectionLoader)(
4742  _In_ IDWriteFontCollectionLoader* fontCollectionLoader
4743  ) PURE;
4744 
4758  STDMETHOD(CreateFontFileReference)(
4759  _In_z_ WCHAR const* filePath,
4760  _In_opt_ FILETIME const* lastWriteTime,
4761  _COM_Outptr_ IDWriteFontFile** fontFile
4762  ) PURE;
4763 
4783  STDMETHOD(CreateCustomFontFileReference)(
4784  _In_reads_bytes_(fontFileReferenceKeySize) void const* fontFileReferenceKey,
4785  UINT32 fontFileReferenceKeySize,
4786  _In_ IDWriteFontFileLoader* fontFileLoader,
4787  _COM_Outptr_ IDWriteFontFile** fontFile
4788  ) PURE;
4789 
4804  STDMETHOD(CreateFontFace)(
4805  DWRITE_FONT_FACE_TYPE fontFaceType,
4806  UINT32 numberOfFiles,
4807  _In_reads_(numberOfFiles) IDWriteFontFile* const* fontFiles,
4808  UINT32 faceIndex,
4809  DWRITE_FONT_SIMULATIONS fontFaceSimulationFlags,
4810  _COM_Outptr_ IDWriteFontFace** fontFace
4811  ) PURE;
4812 
4820  STDMETHOD(CreateRenderingParams)(
4821  _COM_Outptr_ IDWriteRenderingParams** renderingParams
4822  ) PURE;
4823 
4832  STDMETHOD(CreateMonitorRenderingParams)(
4833  HMONITOR monitor,
4834  _COM_Outptr_ IDWriteRenderingParams** renderingParams
4835  ) PURE;
4836 
4849  STDMETHOD(CreateCustomRenderingParams)(
4850  FLOAT gamma,
4851  FLOAT enhancedContrast,
4852  FLOAT clearTypeLevel,
4853  DWRITE_PIXEL_GEOMETRY pixelGeometry,
4854  DWRITE_RENDERING_MODE renderingMode,
4855  _COM_Outptr_ IDWriteRenderingParams** renderingParams
4856  ) PURE;
4857 
4877  STDMETHOD(RegisterFontFileLoader)(
4878  _In_ IDWriteFontFileLoader* fontFileLoader
4879  ) PURE;
4880 
4899  STDMETHOD(UnregisterFontFileLoader)(
4900  _In_ IDWriteFontFileLoader* fontFileLoader
4901  ) PURE;
4902 
4921  STDMETHOD(CreateTextFormat)(
4922  _In_z_ WCHAR const* fontFamilyName,
4923  _In_opt_ IDWriteFontCollection* fontCollection,
4924  DWRITE_FONT_WEIGHT fontWeight,
4926  DWRITE_FONT_STRETCH fontStretch,
4927  FLOAT fontSize,
4928  _In_z_ WCHAR const* localeName,
4929  _COM_Outptr_ IDWriteTextFormat** textFormat
4930  ) PURE;
4931 
4939  STDMETHOD(CreateTypography)(
4940  _COM_Outptr_ IDWriteTypography** typography
4941  ) PURE;
4942 
4950  STDMETHOD(GetGdiInterop)(
4951  _COM_Outptr_ IDWriteGdiInterop** gdiInterop
4952  ) PURE;
4953 
4968  STDMETHOD(CreateTextLayout)(
4969  _In_reads_(stringLength) WCHAR const* string,
4970  UINT32 stringLength,
4971  _In_ IDWriteTextFormat* textFormat,
4972  FLOAT maxWidth,
4973  FLOAT maxHeight,
4974  _COM_Outptr_ IDWriteTextLayout** textLayout
4975  ) PURE;
4976 
5001  STDMETHOD(CreateGdiCompatibleTextLayout)(
5002  _In_reads_(stringLength) WCHAR const* string,
5003  UINT32 stringLength,
5004  _In_ IDWriteTextFormat* textFormat,
5005  FLOAT layoutWidth,
5006  FLOAT layoutHeight,
5007  FLOAT pixelsPerDip,
5008  _In_opt_ DWRITE_MATRIX const* transform,
5009  BOOL useGdiNatural,
5010  _COM_Outptr_ IDWriteTextLayout** textLayout
5011  ) PURE;
5012 
5023  STDMETHOD(CreateEllipsisTrimmingSign)(
5024  _In_ IDWriteTextFormat* textFormat,
5025  _COM_Outptr_ IDWriteInlineObject** trimmingSign
5026  ) PURE;
5027 
5035  STDMETHOD(CreateTextAnalyzer)(
5036  _COM_Outptr_ IDWriteTextAnalyzer** textAnalyzer
5037  ) PURE;
5038 
5048  STDMETHOD(CreateNumberSubstitution)(
5049  _In_ DWRITE_NUMBER_SUBSTITUTION_METHOD substitutionMethod,
5050  _In_z_ WCHAR const* localeName,
5051  _In_ BOOL ignoreUserOverride,
5052  _COM_Outptr_ IDWriteNumberSubstitution** numberSubstitution
5053  ) PURE;
5054 
5073  STDMETHOD(CreateGlyphRunAnalysis)(
5074  _In_ DWRITE_GLYPH_RUN const* glyphRun,
5075  FLOAT pixelsPerDip,
5076  _In_opt_ DWRITE_MATRIX const* transform,
5077  DWRITE_RENDERING_MODE renderingMode,
5078  DWRITE_MEASURING_MODE measuringMode,
5079  FLOAT baselineOriginX,
5080  FLOAT baselineOriginY,
5081  _COM_Outptr_ IDWriteGlyphRunAnalysis** glyphRunAnalysis
5082  ) PURE;
5083 
5084 }; // interface IDWriteFactory
5085 
5086 
5107  _In_ DWRITE_FACTORY_TYPE factoryType,
5108  _In_ REFIID iid,
5109  _COM_Outptr_ IUnknown **factory
5110  );
5111 
5112 // Macros used to define DirectWrite error codes.
5113 #define FACILITY_DWRITE 0x898
5114 #define DWRITE_ERR_BASE 0x5000
5115 #define MAKE_DWRITE_HR(severity, code) MAKE_HRESULT(severity, FACILITY_DWRITE, (DWRITE_ERR_BASE + code))
5116 #define MAKE_DWRITE_HR_ERR(code) MAKE_DWRITE_HR(SEVERITY_ERROR, code)
5117 
5118 // DWrite errors have moved to winerror.h
5119 
5120 
5121 #endif /* DWRITE_H_INCLUDED */
UINT32 bidiLevel
Bidi level of text positions enclosed within the geometry.
Definition: dwrite.h:3472
Predefined font weight : Bold (700).
Definition: dwrite.h:222
Shared factory allow for re-use of cached font data across multiple in process components....
Definition: dwrite.h:631
struct nk_font * font
Definition: nk_common.c:40
Algorithmic emboldening is performed.
Definition: dwrite.h:151
interface DWRITE_DECLARE_INTERFACE("7d97dbf7-e085-42d4-81e3-6a883bded118") IDWriteGlyphRunAnalysis interface DWRITE_DECLARE_INTERFACE("b859ee5a-d838-4b5b-a2e8-1adc7d93db48") IDWriteFactory EXTERN_C HRESULT DWRITE_EXPORT DWriteCreateFactory(_In_ DWRITE_FACTORY_TYPE factoryType, _In_ REFIID iid, _COM_Outptr_ IUnknown **factory)
Interface that encapsulates information used to render a glyph run.
UINT32 advanceHeight
Specifies the Y offset from the vertical origin of the current glyph to the vertical origin of the ne...
Definition: dwrite.h:579
interface ID2D1SimplifiedGeometrySink ID2D1SimplifiedGeometrySink
Definition: d2d1.h:74
Predefined font weight : Ultra-light (200).
Definition: dwrite.h:182
int16_t INT16
Definition: coretypes.h:18
Predefined font weight : Semi-bold (600).
Definition: dwrite.h:217
Predefined font weight : Extra-black (950).
Definition: dwrite.h:247
BOOL supportsSideways
Flag indicating whether the object is to be placed upright or alongside the text baseline for vertica...
Definition: dwrite.h:3395
Trademark information provided by the font.
Definition: dwrite.h:364
BOOL isText
Geometry encloses text?
Definition: dwrite.h:3477
FLOAT top
Top position of the top-left coordinate of the geometry.
Definition: dwrite.h:3457
UINT16 length
The number of text positions in the cluster.
Definition: dwrite.h:3274
BOOL isTrimmed
The line is trimmed.
Definition: dwrite.h:3257
Unspecified name ID.
Definition: dwrite.h:349
Specifies that antialiasing is performed in the horizontal direction and the appearance of glyphs is ...
Definition: dwrite.h:921
Predefined font stretch : Ultra-condensed (1).
Definition: dwrite.h:270
URL where additional licensing information can be found.
Definition: dwrite.h:399
UINT32 bidiLevel
The implicit resolved bidi level of the run. Odd levels indicate right-to-left languages like Hebrew ...
Definition: dwrite.h:3068
The trailing edge of the paragraph text is aligned to the layout box's trailing edge.
Definition: dwrite.h:1759
The DWRITE_UNDERLINE structure contains information about the size and placement of underlines....
Definition: dwrite.h:3111
The break must happen, regardless of the condition of the adjacent text span or inline object.
Definition: dwrite.h:2389
UINT8 isWhitespace
The character is some form of whitespace, which may be meaningful for justification.
Definition: dwrite.h:2411
Specifies that antialiasing is performed in the horizontal direction and the appearance of glyphs is ...
Definition: dwrite.h:930
Text lines are placed from top to bottom.
Definition: dwrite.h:1727
Definition: dwrite.h:1894
Words are kept within the same line even when it overflows the layout box. This option is often used ...
Definition: dwrite.h:1808
UINT16 isWhitespace
Indicate whether the cluster corresponds to whitespace character.
Definition: dwrite.h:3284
Whether a break is allowed is determined by the condition of the neighboring text span or inline obje...
Definition: dwrite.h:2370
If the culture is Arabic or Farsi, specifies that the number shape depend on the context....
Definition: dwrite.h:2439
Definition: glslang_tab.cpp:129
Each pixel comprises three vertical stripes, with red on the left, green in the center,...
Definition: dwrite.h:888
Definition: dwrite.h:1903
FLOAT dy
Vertical shift (always orthogonal regardless of rotation)
Definition: dwrite.h:997
OpenType font that contains a TrueType collection.
Definition: dwrite.h:57
UINT16 designUnitsPerEm
The number of font design units per em unit. Font files use their own coordinate system of font desig...
Definition: dwrite.h:482
Text lines are placed from right to left.
Definition: dwrite.h:1742
UINT8 breakConditionBefore
Breaking condition before the character.
Definition: dwrite.h:2400
Predefined font stretch : Normal (5).
Definition: dwrite.h:290
_Field_size_(glyphCount) UINT16 const *glyphIndices
The indices to render.
Definition: dwrite.h:1891
Reading progresses from bottom to top.
Definition: dwrite.h:1716
FLOAT width
Width of the inline object.
Definition: dwrite.h:3378
Definition: dwrite.h:1951
Algorithmic italicization is performed.
Definition: dwrite.h:156
The center of the paragraph text is aligned to the center of the layout box.
Definition: dwrite.h:1764
Predefined font stretch : Extra-condensed (2).
Definition: dwrite.h:275
Properties describing the geometric measurement of an application-defined inline object.
Definition: dwrite.h:3373
OpenType font with TrueType outlines.
Definition: dwrite.h:52
Predefined font weight : Normal (400).
Definition: dwrite.h:197
FLOAT bottom
The distance from the bottom-most visible DIP to its bottom alignment edge.
Definition: dwrite.h:3430
#define FALSE
Definition: stb_vorbis.h:232
UINT16 script
Zero-based index representation of writing system script.
Definition: dwrite.h:2352
Bitmap .FON font.
Definition: dwrite.h:77
Predefined font weight : Light (300).
Definition: dwrite.h:187
Text lines are placed from left to right.
Definition: dwrite.h:1737
uint64_t UINT64
Definition: coretypes.h:8
DWRITE_TRIMMING_GRANULARITY granularity
Text granularity of which trimming applies.
Definition: dwrite.h:2024
Definition: dwrite.h:1955
UINT8 breakConditionAfter
Breaking condition after the character.
Definition: dwrite.h:2405
FLOAT offset
Offset of the strikethrough from the baseline. A positive offset represents a position below the base...
Definition: dwrite.h:3190
String containing a version number.
Definition: dwrite.h:359
UINT32 delimiterCount
How many occurrences of the delimiter to step back. Leave this zero if there is no delimiter.
Definition: dwrite.h:2036
GLsizeiptr size
Definition: glext.h:6559
GLfloat f
Definition: glext.h:8207
Predefined font stretch : Semi-expanded (6).
Definition: dwrite.h:300
DWRITE_TEXTURE_TYPE
The IDWriteInlineObject interface wraps an application defined inline graphic, allowing DWrite to que...
Definition: dwrite.h:4606
UINT16 isNewline
Indicate whether the cluster corresponds to a newline character.
Definition: dwrite.h:3289
Typographic subfamily name preferred by the designer. This name is typically only present if it diffe...
Definition: dwrite.h:421
Specifies that rendering should bypass the rasterizer and use the outlines directly....
Definition: dwrite.h:952
Reading progresses from top to bottom.
Definition: dwrite.h:1711
UINT16 isZeroWidthSpace
Glyph has no width, blank, ZWJ, ZWNJ etc.
Definition: dwrite.h:2512
The last line of paragraph is aligned to the flow's ending edge of the layout box.
Definition: dwrite.h:1786
Definition: dwrite.h:1889
UINT16 isRightToLeft
Indicate whether the cluster is read from right to left.
Definition: dwrite.h:3299
static SceGxmRenderTarget * renderTarget
Definition: vita2d.c:68
Type 1 PFB font.
Definition: dwrite.h:67
UINT16 justification
Justification class, whether to use spacing, kashidas, or another method. This exists for backwards c...
Definition: dwrite.h:2497
UINT16 ascent
Ascent value of the font face in font design units. Ascent is the distance from the top of font chara...
Definition: dwrite.h:488
GLsizei const GLchar *const * string
Definition: glext.h:6699
No trimming occurs. Text flows beyond the layout width.
Definition: dwrite.h:1858
DWRITE_FONT_FEATURE_TAG nameTag
The feature OpenType name identifier.
Definition: dwrite.h:1986
DWRITE_MEASURING_MODE measuringMode
The measuring mode can be useful to the renderer to determine how underlines are rendered,...
Definition: dwrite.h:3216
typedef HRESULT(WINAPI *PFN_D3D12_SERIALIZE_ROOT_SIGNATURE)(_In_ const D3D12_ROOT_SIGNATURE_DESC *pRootSignature
Line spacing and baseline distances are proportional to the computed values based on the content,...
Definition: dwrite.h:1847
Definition: dwrite.h:1916
Predefined font stretch : Extra-expanded (8).
Definition: dwrite.h:310
UINT8 padding
Definition: dwrite.h:2419
UINT32 featureCount
The number of features.
Definition: dwrite.h:2013
UINT16 isDiacritic
Glyph is a diacritic.
Definition: dwrite.h:2507
Align text to the leading side, and also justify text to fill the lines.
Definition: dwrite.h:1769
Reading progresses from left to right.
Definition: dwrite.h:1701
UINT32 lineCount
Total number of lines.
Definition: dwrite.h:3365
DWRITE_READING_DIRECTION
The IDWriteFontCollection encapsulates a collection of font families.
Definition: dwrite.h:1696
Script/language tag to identify the scripts or languages that the font was primarily designed to supp...
Definition: dwrite.h:453
Font slope style : Normal.
Definition: dwrite.h:327
UINT32 textPosition
First text position within the geometry.
Definition: dwrite.h:3442
GLuint GLuint GLfloat weight
Definition: glext.h:12626
UINT16 capHeight
Cap height value of the font face in font design units. Cap height is the distance from English basel...
Definition: dwrite.h:510
Type 1 PFM font.
Definition: dwrite.h:62
interface DWRITE_DECLARE_INTERFACE("cca920e4-52f0-492b-bfa8-29c72ee0a468") IDWriteFontCollectionLoader interface DWRITE_DECLARE_INTERFACE("72755049-5ff7-435d-8348-4be97cfa6c7c") IDWriteFontFileEnumerator interface DWRITE_DECLARE_INTERFACE("08256209-099a-4b34-b86d-c22b110e7771") IDWriteLocalizedStrings interface IDWriteFontFamily
The font collection loader interface is used to construct a collection of fonts given a particular ty...
Definition: dwrite.h:1367
DWRITE_SCRIPT_SHAPES shapes
Additional shaping requirement of text.
Definition: dwrite.h:2357
INT16 underlinePosition
The underline position value of the font face in font design units. Underline position is the positio...
Definition: dwrite.h:523
UINT16 descent
Descent value of the font face in font design units. Descent is the distance from the bottom of font ...
Definition: dwrite.h:494
Definition: dwrite.h:1895
GLboolean GLboolean GLboolean b
Definition: glext.h:6844
FLOAT runHeight
Height of the tallest run where the underline applies.
Definition: dwrite.h:3134
Definition: dwrite.h:1905
Specifies an alpha texture for ClearType text rendering, with three bytes per pixel in the horizontal...
Definition: dwrite.h:4618
There should be no break, unless overruled by a Must condition from the neighboring text span or inli...
Definition: dwrite.h:2383
Specifies that code points 0x30-0x39 are always rendered as nominal numeral shapes (ones of the Europ...
Definition: dwrite.h:2445
UINT32 trailingWhitespaceLength
The number of whitespace positions at the end of the line. Newline sequences are considered whitespac...
Definition: dwrite.h:3235
The DWRITE_LINE_METRICS structure contains information about a formatted line of text.
Definition: dwrite.h:3223
OpenType font face with TrueType outlines.
Definition: dwrite.h:98
UINT16 underlineThickness
The suggested underline thickness value of the font face in font design units.
Definition: dwrite.h:528
The DWRITE_TEXT_RANGE structure specifies a range of text positions where format is applied.
Definition: dwrite.h:1965
The DWRITE_GLYPH_RUN_DESCRIPTION structure contains additional properties related to those in DWRITE_...
Definition: dwrite.h:3075
#define DWRITE_DECLARE_INTERFACE(iid)
Definition: dwrite.h:25
A vector .FON format font face.
Definition: dwrite.h:113
Predefined font weight : Extra-light (200).
Definition: dwrite.h:177
FLOAT left
Left-most point of formatted text relative to layout box (excluding any glyph overhang).
Definition: dwrite.h:3315
DWRITE_FONT_FEATURE_TAG
Typographic feature of text supplied by the font.
Definition: dwrite.h:1877
Sample text. This can be the font name or any other text that the designer thinks is the best example...
Definition: dwrite.h:426
DWRITE_BREAK_CONDITION
Condition at the edges of inline object or text used to determine line-breaking behavior.
Definition: dwrite.h:2364
Predefined font weight : Thin (100).
Definition: dwrite.h:172
FLOAT baseline
Distance from the top of the line to its baseline.
Definition: dwrite.h:3252
Words are broken across lines to avoid text overflowing the layout box. Emergency wrapping occurs if ...
Definition: dwrite.h:1814
#define NULL
Pointer to 0.
Definition: gctypes.h:65
Font slope style : Oblique.
Definition: dwrite.h:332
No simulations are performed.
Definition: dwrite.h:146
Definition: dwrite.h:1893
int32_t INT32
Definition: coretypes.h:17
Copyright notice provided by the font.
Definition: dwrite.h:354
Definition: dwrite.h:1904
FLOAT right
The distance from the right-most visible DIP to its right alignment edge.
Definition: dwrite.h:3425
UINT16 isClusterStart
Indicates glyph is the first of a cluster.
Definition: dwrite.h:2502
UINT32 length
Number of text positions within the geometry.
Definition: dwrite.h:3447
Text should leave no visual on display i.e. control or format control characters.
Definition: dwrite.h:2337
FLOAT height
Height of the inline object as measured from top to bottom.
Definition: dwrite.h:3383
Geometry enclosing of text positions.
Definition: dwrite.h:3437
UINT32 parameter
Execution parameter of the feature.
Definition: dwrite.h:1995
Definition: dwrite.h:1950
Lines are explicitly set to uniform spacing, regardless of contained font sizes. This can be useful t...
Definition: dwrite.h:1842
Specifies that number are rendered using the traditional shape for the specified culture....
Definition: dwrite.h:2460
Line breakpoint characteristics of a character.
Definition: dwrite.h:2395
URL of font vendor (with protocol, e.g., http://, ftp://). If a unique serial number is embedded in t...
Definition: dwrite.h:389
FLOAT width
Width of the strikethrough, measured parallel to the baseline.
Definition: dwrite.h:3177
Overall metrics associated with text after layout. All coordinates are in device independent pixels (...
Definition: dwrite.h:3309
#define DWRITE_EXPORT
Definition: dwrite.h:29
_Field_size_opt_(stringLength) UINT16 const *clusterMap
An array of indices to the glyph indices array, of the first glyphs of all the glyph clusters of the ...
FLOAT m12
Vertical shear / sine of rotation
Definition: dwrite.h:977
UINT32 startPosition
The start text position of the range.
Definition: dwrite.h:1970
Predefined font stretch : Ultra-expanded (9).
Definition: dwrite.h:315
DWRITE_WORD_WRAPPING
Word wrapping in multiline paragraph.
Definition: dwrite.h:1797
Predefined font weight : Ultra-black (950).
Definition: dwrite.h:252
Definition: dwrite.h:1892
Wrap between any valid characters clusters.
Definition: dwrite.h:1825
DWRITE_READING_DIRECTION readingDirection
Reading direction of the text associated with the strikethrough. This value is used to interpret whet...
Definition: dwrite.h:3197
The leading edge of the paragraph text is aligned to the layout box's leading edge.
Definition: dwrite.h:1754
The DWRITE_STRIKETHROUGH structure contains information about the size and placement of strikethrough...
Definition: dwrite.h:3172
UINT32 glyphCount
The number of glyphs.
Definition: dwrite.h:3036
#define DWRITE_MAKE_OPENTYPE_TAG(a, b, c, d)
Creates an OpenType tag as a 32bit integer such that the first character in the tag is the lowest byt...
Definition: dwrite.h:649
FLOAT height
Height of the line as measured from top to bottom.
Definition: dwrite.h:3247
ID2D1SimplifiedGeometrySink IDWriteGeometrySink
Definition: dwrite.h:1037
No additional shaping requirement. Text is shaped with the writing system default behavior.
Definition: dwrite.h:2332
Script/language tag to identify the scripts or languages that the font declares it is able to support...
Definition: dwrite.h:459
DWRITE_TEXT_ALIGNMENT
Alignment of paragraph text along the reading direction axis relative to the leading and trailing edg...
Definition: dwrite.h:1749
The interface implemented by the text analyzer's client to provide text to the analyzer....
Definition: dwrite.h:3021
DWRITE_LINE_SPACING_METHOD
The method used for line spacing in layout.
Definition: dwrite.h:1831
FLOAT layoutWidth
Initial width given to the layout. Depending on whether the text was wrapped or not,...
Definition: dwrite.h:3346
UINT16 strikethroughThickness
The suggested strikethrough thickness value of the font face in font design units.
Definition: dwrite.h:540
Predefined font weight : Medium (500).
Definition: dwrite.h:207
Unbekannter Compiler Gerät von Anschluss getrennt Datei existiert bereits Speichere im Backup Puffer Verbindung mit Öffentliche Addresse Lege Datenträger in Laufwerksschublade ein Du hast das Spiel verlassen Dieser Core unterstützt kein Netplay zwischen diesen Systemen Gib das Server Passwort Falsches Passwort Die Verbindung mit einem Netplay Client wurde getrennt Du hast nicht die an diesem Spiel teilzunehmen Konnte nicht zum Spieler Modus wechseln Dein Nickname wurde zu s geändert Enable horizontal animation for the menu This will have a performance hit Harte Synchronisation der CPU und der GPU Reduziert braucht aber mehr Leistung Audio Lautstärke Lade Fähigkeiten Verbinde zu Port nicht die keinen Inhalt können nicht an Netplay teilnehmen Errungenschaften Konten Benutzerkonten Retro Errungenschaften Inhalt durchsuchen Inhalt importieren Nachfragen Warte auf Audio Frames Audiotreiber Aktiviere Audio Turbo Deadzone Maximaler Audioversatz Dynamische Audio Ratenkontrolle Audio Exklusiver WASAPI Modus Größe des gemeinsamen WASAPI Puffers Override Dateien automatisch laden Shader Voreinstellungen automatisch laden Bestätigen Beenden Nach oben scrollen Tastatur ein ausschalten Grundlegende Menüsteuerung Info Nach oben scrollen Tastatur ein ausschalten Überschreibe SaveRAM wenn ein Bluetooth aktivieren Temporäre Dateien Kameratreiber Änderungen übernehmen Cheat Datei Speichere Cheat Datei unter Beschreibung Gesperrte Gesperrt Teste inoffizielle Errungenschaften Freigeschaltete Freigeschaltet Konfiguration Konfigurationen Sammlungen Inhalt Einträge zu entfernen Downloads Cheats Core Namen anzeigen Autoren Core Bezeichnung Firmware Berechtigungen System Hersteller Steuerung Optionen Cores automatisch starten Buildbot Core URL Aktualisierungen CPU Suchanfragen Benutzerdefiniertes Verhältnis Datenbank Auswahl Startverzeichnis< Standard > Verzeichnis nicht gefunden Datentägerstatus Datenträger Nummer Ignorieren Core herunterladen Aktiviert DPI Überschreibung Treiber Vor dem Laden nach fehlender Firmware suchen Dynamische Hintergrundbilder Farbe für gewählte Menü Einträge Aus Favoriten Begrenze maximale Ausführgeschwindigkeit Frontend Zähler Erstellt Datei mit Spieloptionen Hilfe Ändert virtuelles Controller Overlay Hilfe Nach Inhalten suchen Verlaufliste aktivieren Horizontales Menü Informationen Analog zu Digital Typ Linker Analogstick X Linker Analogstick Linker Analogstick Y Linker Analogstick Rechter Analogstick X Rechter Analogstick Rechter Analogstick Y Rechter Analogstick Gun Trigger Gun Aux A Gun Aux C Gun Select Gun D pad Down Gun D pad Right Schwellenwert der Analogsticks Alle zuordnen Zeitlimit für Belegung Zeige Eingabe Bezeichnungen Gerätetyp Eingabetreiber Tastenkürzel belegen A B Steuerkreuz nach unten L3 L Steuerkreuz nach links R3 R Steuerkreuz nach rechts Start Knopf X Y Mouse Mouse Mouse Wheel Down Wheel Right Maximale Benutzeranzahl Cheat Index Cheat ein ausschalten Nächster Datenträger Hotkeys aktivieren Zeitraffer ein ausschalten Vollbildmodus ein ausschalten Spielfokus ein ausschalten Menü aufrufen Audio stumm lautschalten Bildschirmtastatur ein ausschalten Pause weiter Spiel zurücksetzen Erstelle Bildschirmfoto Vorheriger Shader Zustands Speicherplatz Lautstärke Aktiviere Overlay Eingaben im Overlay anzeigen Abfrageverhalten Spät Touch Eingabe auf der Vorderseite bevorzugen Tasten Neubelegung aktivieren Eingabe Touch Eingabe aktivieren Autofeuer Frequenz Status des internen Speichers Controller Treiber Niederländisch Esperanto Deutsch Japanisch Polnisch Russisch Vietnamesisch Linker Analogstick Core Informationen Linear Inhalt aus Verlauf laden Spielstand laden Standort Treiber Logs auf Kommandozeile ausgeben Datenbanken Blau Dunkelblau Shield Gelb Transparenz der Kopfzeile Bildwiederholrate im Menü begrenzen Linearer Filter für Menü Menü Hintergrundbild Transparenz Multimedia Unbekannte Dateierweiterungen filtern Nächster Erlaube Slave Modus für Clients Eingabeverzögerung Netplay Verzögerung Aktiviere Netplay Starte Hosting Server Adresse Netplay Client aktivieren Server Passwort Verbiete die nicht im Slave Modus laufen Im Beobachtermodus starten Server Passwort für Beobachtermodus Netplay TCP UDP Port Netzwerk Befehle Netzwerk Informationen Netzwerk Remote Port Nein Nicht verfügbar Kein Core Keine Core Informationen verfügbar Keine Einträge Keine Informationen verfügbar Keine Netplay Hosts gefunden Keine Leistungszähler Keine Wiedergabelisten Einträge verfügbar Keine Shader Parameter EIN Online Aktualisierungen Bildschirm Overlay Öffne Archiv als Ordner Overlay Overlays Overlay Voreinstellung Overlays Übergeordnetes Verzeichnis Nicht im Hintergrund ausführen Wiedergabelisten Wiedergabelisten Port Privatsphäre Analog unterstützt CERO Bewertung CRC32 Entwickler Edge Magazine Bewertung ELSPA Bewertung ESRB Bewertung Franchise MD5 Herkunft Publisher Veröffentlichungsjahr Seriennummer Starte Inhalt Neustart Aufnahmen Lade Aufnahme Konfiguration Aktiviere Aufnahmefunktion Speichere Aufnahme im Ausgabeverzeichnis Remap Datei laden Speichere Spiel Remap Datei Lösche Spiel Remap Datei Neu starten Fortsetzen RetroKeyboard RetroPad mit Analogsticks Genauigkeit des Zurückspulen Konfigurationen Rechter Analogstick Zu Favoriten hinzufügen Abspielen Speicherdaten Zustand automatisch laden Zustands Miniaturansichten Speichere Core Überschreibungen Speichere neue Konfiguration Speichern Datei durchsuchen Bildschirmfotos Sekunden Einstellungen Änderungen übernehmen Band Schnee Zeige versteckte Dateien und Ordner Zeitlupen Verhältnis Sortiere Zustandsdaten in Ordnern Speicherdaten im Verzeichnis des Inhalts speichern Bildschirmfotos im Verzeichnis des Inhalts speichern Core starten Starte Videoprozessor Status Vorgeschlagene Cores Aktiviere System BGM System Informationen ALSA Unterstützung Cg Unterstützung Befehlsinterface Unterstützung CPU Eigenschaften DirectSound Unterstützung Unterstützung für dynamische Bibliotheken EGL Unterstützung FFmpeg Unterstützung STB TrueType Unterstützung Frontend Name Git Version HLSL Unterstützung KMS EGL Unterstützung LibretroDB Unterstützung Libxml2 XML Parsing Unterstützung Netzwerk Befehlsinterface Unterstützung OpenAL Unterstützung OpenGL Unterstützung OpenVG Unterstützung Overlay Unterstützung Geladen Entlädt PulseAudio Unterstützung BMP RetroRating Stufe RoarAudio Unterstützung RSound Unterstützung SDL2 Unterstützung SDL1 Unterstützung Threading Unterstützung Video4Linux2 Unterstützung Vulkan Unterstützung X11 Unterstützung XVideo Unterstützung Bildschirmfoto anfertigen Miniaturansichten Miniaturansichten aktualisieren Bildschirmfoto Uhrzeit Datum anzeigen An UI Companion beim Hochfahren starten Komprimiertes Archiv kann nicht gelesen werden Speichern des Zustands rückgängig machen Online Aktualisierungen Gamepad Controller Profile aktualisieren Cheats aktualisieren Datenbanken aktualisieren Lakka aktualisieren Slang Shader aktualisieren Kbd Sprache Verwende eingebauten Bildbetrachter< Dieses Verzeichnis verwenden > Konfiguriere Bildseitenverhältnis Bildseitenverhältnis Deaktiviere Desktop Gestaltung Videotreiber Grafikfilter Bildschirm Benachrichtigungen aktivieren Schritftgröße der Bildschirm Benachrichtigungen Erzwinge Deaktivierung des sRGB FBO Vollbildmodus Verwende GPU für Aufnahme Synchronisiere GPU und CPU Maximale Anzahl von Zwischenbildern Y Position der Bildschirm Benachrichtigungen Wende Filter auf Aufnahme an Geschätzte Bildwiederholrate Rotation Pixelgenaue Bildskalierung Video Shader Vorschau der Shader Parameter Shader Voreinstellung speichern unter Spiel Voreinstellung speichern Bilineare Filterung VSync Intervall Video in separatem Thread Bildhöhe X Position des Bildes VI Bildgröße Unechter Fensterbreite Vollbild Breite WLAN Treiber Menü Transparenz Menu Font Green Color Menü Schriftart FlatUI Monochrome Inverted NeoActive RetroActive Dot Art Apple Green Dark Purple Golden Midnight Blue Undersea Menü Shader Icon Schatten aktivieren Zeige Tab Inhalte importieren Zeige Tab Bilder Zeige Tab Einstellungen Zeige Tab Netplay Menü Design Shader Voreinstellungen Aktiviere inoffizielle Errungenschaften und oder Beta Funktionen zu Testzwecken Aktiviere ausführliche Ausgabe von Bildschirmmeldungen für Errungenschaften Ändere die Einstellungen für Errungenschaften Ändere die Einstellungen für die Aufnahme Funktion Ändere die Einstellungen für Zeitraffer und Zeitlupe Ändere die Log Einstellungen Sprache Ändere die Standard Verzeichnisse für dieses System Ändere die Einstellungen für das Netzwerk Ändere die Einstellungen der Audio Ausgabe Speichere Änderungen an der Konfigurationsdatei beim Beenden Verwalte und erstelle Konfigurationsdateien Zeigt die aktuelle Bildwiederholrate auf dem Bildschirm an Controller mit der das Menü aufgerufen wird Steuerung für diesen Benutzer konfigurieren Hoste eine Netplay Sitzung oder trete einer bei Zeige Informationen über Netzwerk und das System an Aktiviere die Netzwerkfreigabe deiner Ordner Zeige versteckte Dateien und Ordner im Dateimanager an Hält dein System davon ab
Definition: msg_hash_de.h:1946
The postscript CID findfont name, from name id 20 in the name table.
Definition: dwrite.h:441
FLOAT thickness
Thickness of the strikethrough, measured perpendicular to the baseline.
Definition: dwrite.h:3183
OpenType font with CFF outlines.
Definition: dwrite.h:47
The DWRITE_GLYPH_METRICS structure specifies the metrics of an individual glyph. The units depend on ...
Definition: dwrite.h:547
_Field_size_(stringLength) WCHAR const *string
The text associated with the glyphs.
FLOAT height
Geometry's height.
Definition: dwrite.h:3467
DWRITE_FONT_FACE_TYPE
The file format of a complete font face. Font formats that consist of multiple files,...
Definition: dwrite.h:88
UINT32 textPosition
Corresponding text position in the original string this glyph run came from.
Definition: dwrite.h:3103
UINT16 reserved
Reserved for use by shaping engine.
Definition: dwrite.h:2484
UINT16 reserved
Reserved for use by shaping engine.
Definition: dwrite.h:2517
FLOAT baseline
Distance from the top of the object to the baseline where it is lined up with the adjacent text....
Definition: dwrite.h:3389
Only wrap whole words, never breaking words (emergency wrapping) when the layout width is too small f...
Definition: dwrite.h:1820
interface IDWriteTextLayout IDWriteTextLayout
Definition: d2d1.h:51
Similar to natural mode except that antialiasing is performed in both the horizontal and vertical dir...
Definition: dwrite.h:946
The DWRITE_OVERHANG_METRICS structure holds how much any visible pixels (in DIPs) overshoot each side...
Definition: dwrite.h:3410
Predefined font weight : Semi-light (350).
Definition: dwrite.h:192
UINT16 canWrapLineAfter
Indicate whether line can be broken right after the cluster.
Definition: dwrite.h:3279
GDI-compatible family name. Because GDI allows a maximum of four fonts per family,...
Definition: dwrite.h:405
FLOAT advanceOffset
Offset in the advance direction of the run. A positive advance offset moves the glyph to the right (i...
Definition: dwrite.h:606
DWRITE_FONT_SIMULATIONS
Specifies algorithmic style simulations to be applied to the font face. Bold and oblique simulations ...
Definition: dwrite.h:141
UINT16 isSoftHyphen
Indicate whether the cluster corresponds to soft hyphen character.
Definition: dwrite.h:3294
Definition: dwrite.h:1906
The DWRITE_CLUSTER_METRICS structure contains information about a glyph cluster.
Definition: dwrite.h:3264
Predefined font stretch : Condensed (3).
Definition: dwrite.h:280
Predefined font weight : Heavy (900).
Definition: dwrite.h:242
UINT16 xHeight
x-height value of the font face in font design units. x-height is the distance from English baseline ...
Definition: dwrite.h:516
UINT32 maxBidiReorderingDepth
The maximum reordering count of any line of text, used to calculate the most number of hit-testing bo...
Definition: dwrite.h:3360
FLOAT layoutHeight
Initial height given to the layout. Depending on the length of the text, it may be larger or smaller ...
Definition: dwrite.h:3352
FLOAT left
The distance from the left-most visible DIP to its left alignment edge.
Definition: dwrite.h:3415
BOOL isSideways
If true, specifies that glyphs are rotated 90 degrees to the left and vertical metrics are used....
Definition: dwrite.h:3059
_Field_z_ WCHAR const * localeName
The locale name associated with this run.
Definition: dwrite.h:3080
Predefined font weight : Demi-bold (600).
Definition: dwrite.h:212
interface IDWriteFontFace IDWriteFontFace
Definition: d2d1_3.h:31
Typographic family name preferred by the designer. This enables font designers to group more than fou...
Definition: dwrite.h:416
Family name for the weight-stretch-style model.
Definition: dwrite.h:446
Predefined font stretch : Expanded (7).
Definition: dwrite.h:305
Defines a set of typographic features to be applied during shaping. Notice the character range which ...
Definition: dwrite.h:2003
DWRITE_RENDERING_MODE
Represents a method of rendering glyphs.
Definition: dwrite.h:902
UINT32 newlineLength
The number of characters in the newline sequence at the end of the line. If the count is zero,...
Definition: dwrite.h:3242
FLOAT top
Top-most point of formatted text relative to layout box (excluding any glyph overhang).
Definition: dwrite.h:3321
FLOAT widthIncludingTrailingWhitespace
The width of the formatted text taking into account the trailing whitespace at the end of each line.
Definition: dwrite.h:3333
The DWRITE_MATRIX structure specifies the graphics transform to be applied to rendered glyphs.
Definition: dwrite.h:967
DWRITE_FLOW_DIRECTION
Direction for how lines of text are placed relative to one another.
Definition: dwrite.h:1722
GLuint index
Definition: glext.h:6671
Specifies that no antialiasing is performed. Each pixel is either set to the foreground color of the ...
Definition: dwrite.h:913
Objects created from the isolated factory do not interact with internal DirectWrite state from other ...
Definition: dwrite.h:636
DWRITE_FONT_FILE_TYPE
The type of a font represented by a single font file. Font formats that consist of multiple files,...
Definition: dwrite.h:37
The DWRITE_FONT_METRICS structure specifies the metrics of a font face that are applicable to all gly...
Definition: dwrite.h:472
Trimming occurs at word boundary.
Definition: dwrite.h:1868
FLOAT m11
Horizontal scaling / cosine of rotation
Definition: dwrite.h:972
DWRITE_INFORMATIONAL_STRING_ID
The informational string enumeration identifies a string in a font.
Definition: dwrite.h:344
UINT32 length
The number of total text positions in the line. This includes any trailing whitespace and newline cha...
Definition: dwrite.h:3229
UINT8 isSoftHyphen
The character is a soft hyphen, often used to indicate hyphenation points inside words.
Definition: dwrite.h:2417
unsigned int BOOL
Definition: gctypes.h:51
DWRITE_PIXEL_GEOMETRY
Font file loader interface handles loading font file resources of a particular type from a key....
Definition: dwrite.h:877
Reading progresses from right to left.
Definition: dwrite.h:1706
FLOAT m22
Vertical scaling / cosine of rotation
Definition: dwrite.h:987
DWRITE_FONT_WEIGHT
The font weight enumeration describes common values for degree of blackness or thickness of strokes o...
Definition: dwrite.h:167
uint32_t UINT32
Definition: coretypes.h:10
Definition: dwrite.h:1959
DWRITE_PARAGRAPH_ALIGNMENT
Alignment of paragraph text along the flow direction axis relative to the flow's beginning and ending...
Definition: dwrite.h:1776
GLenum const GLvoid GLbitfield fontStyle
Definition: glext.h:12622
Each pixel comprises three vertical stripes, with blue on the left, green in the center,...
Definition: dwrite.h:894
Font slope style : Italic.
Definition: dwrite.h:337
FLOAT top
The distance from the top-most visible DIP to its top alignment edge.
Definition: dwrite.h:3420
Shaping output properties per output glyph.
Definition: dwrite.h:2490
GLuint GLuint * names
Definition: glext.h:12452
Font type is not recognized by the DirectWrite font system.
Definition: dwrite.h:42
Predefined font weight : Black (900).
Definition: dwrite.h:237
FLOAT m21
Horizontal shear / negative sine of rotation
Definition: dwrite.h:982
Definition: dwrite.h:1948
FLOAT dx
Horizontal shift (always orthogonal regardless of rotation)
Definition: dwrite.h:992
Association of text and its writing system script as well as some display attributes.
Definition: dwrite.h:2347
UINT32 advanceWidth
Specifies the X offset from the origin of the current glyph to the origin of the next glyph when writ...
Definition: dwrite.h:559
FLOAT width
Width of the underline, measured parallel to the baseline.
Definition: dwrite.h:3116
GLint GLint GLsizei width
Definition: glext.h:6293
INT16 strikethroughPosition
The strikethrough position value of the font face in font design units. Strikethrough position is the...
Definition: dwrite.h:535
The DWRITE_FONT_FEATURE structure specifies properties used to identify and execute typographic featu...
Definition: dwrite.h:1981
A Type 1 font face.
Definition: dwrite.h:108
FLOAT thickness
Thickness of the underline, measured perpendicular to the baseline.
Definition: dwrite.h:3122
DWRITE_SCRIPT_SHAPES
The format of text used for text layout.
Definition: dwrite.h:2327
Specifies an alpha texture for aliased text rendering (i.e., bi-level, where each pixel is either ful...
Definition: dwrite.h:4612
_Field_z_ WCHAR const * localeName
Locale of the text the underline is being drawn under. Can be pertinent where the locale affects how ...
Definition: dwrite.h:3157
BOOL isTrimmed
Range is trimmed.
Definition: dwrite.h:3482
INT32 topSideBearing
Specifies the vertical offset from the vertical origin to the top of the black box....
Definition: dwrite.h:571
_Field_z_ WCHAR const * localeName
Locale of the range. Can be pertinent where the locale affects the style.
Definition: dwrite.h:3209
INT32 leftSideBearing
Specifies the X offset from the glyph origin to the left edge of the black box. The glyph origin is t...
Definition: dwrite.h:554
FLOAT offset
Offset of the underline from the baseline. A positive offset represents a position below the baseline...
Definition: dwrite.h:3129
Definition: dwrite.h:1902
Predefined font weight : Ultra-bold (800).
Definition: dwrite.h:232
Optional adjustment to a glyph's position. A glyph offset changes the position of a glyph without aff...
Definition: dwrite.h:600
def cd(new_dir)
Definition: build.py:40
Predefined font stretch : Semi-condensed (4).
Definition: dwrite.h:285
FLOAT fontEmSize
Logical size of the font in DIPs, not points (equals 1/96 inch).
Definition: dwrite.h:3031
uint16_t UINT16
Definition: coretypes.h:11
A break is allowed, unless overruled by the condition of the neighboring text span or inline object,...
Definition: dwrite.h:2377
Definition: dwrite.h:1956
interface IDWriteRenderingParams IDWriteRenderingParams
Definition: d2d1.h:52
Trimming occurs at character cluster boundary.
Definition: dwrite.h:1863
DWRITE_FLOW_DIRECTION flowDirection
Flow direction of the text associated with the strikethrough. This value is used to interpret whether...
Definition: dwrite.h:3204
Name of the font designer.
Definition: dwrite.h:374
GLuint GLenum GLenum transform
Definition: glext.h:10314
FLOAT width
Geometry's width.
Definition: dwrite.h:3462
Name of the font manufacturer.
Definition: dwrite.h:369
OpenType font face that is a part of a TrueType or CFF collection.
Definition: dwrite.h:103
Definition: dwrite.h:1949
_Field_size_opt_(glyphCount) FLOAT const *glyphAdvances
Glyph advance widths.
The postscript name of the font, e.g. "GillSans-Bold" from name id 6 in the name table.
Definition: dwrite.h:436
The full name of the font, e.g. "Arial Bold", from name id 4 in the name table.
Definition: dwrite.h:431
INT32 bottomSideBearing
Specifies the vertical distance from the black box's bottom edge to the advance height....
Definition: dwrite.h:586
The red, green, and blue color components of each pixel are assumed to occupy the same point.
Definition: dwrite.h:882
interface IDWriteFactory IDWriteFactory
Definition: d2d1_1.h:35
UINT16 padding
Definition: dwrite.h:3301
Specifies that number are rendered using the national number shape as specified by the LOCALE_SNATIVE...
Definition: dwrite.h:2451
Vector .FON font.
Definition: dwrite.h:72
DEFINE_ENUM_FLAG_OPERATORS(D2D1_DRAW_TEXT_OPTIONS)
Holds the appropriate digits and numeric punctuation for a given locale.
Definition: dwrite.h:2473
Line spacing depends solely on the content, growing to accommodate the size of fonts and inline objec...
Definition: dwrite.h:1836
FLOAT width
The width of the formatted text ignoring trailing whitespace at the end of each line.
Definition: dwrite.h:3327
DWRITE_FACTORY_TYPE
Specifies the type of DirectWrite factory object. DirectWrite factory contains internal state such as...
Definition: dwrite.h:625
The font data includes only the CFF table from an OpenType CFF font. This font face type can be used ...
Definition: dwrite.h:131
Words are broken across lines to avoid text overflowing the layout box.
Definition: dwrite.h:1802
Predefined font weight : Regular (400).
Definition: dwrite.h:202
A bitmap .FON format font face.
Definition: dwrite.h:118
interface IDWriteTextFormat IDWriteTextFormat
Definition: d2d1.h:50
OpenType font face with CFF outlines.
Definition: dwrite.h:93
The DWRITE_TRIMMING structure specifies the trimming option for text overflowing the layout box.
Definition: dwrite.h:2019
DWRITE_READING_DIRECTION readingDirection
Reading direction of the text associated with the underline. This value is used to interpret whether ...
Definition: dwrite.h:3141
Description of the font. Can contain revision information, usage recommendations, history,...
Definition: dwrite.h:384
Predefined font weight : Extra-bold (800).
Definition: dwrite.h:227
Description of how the font may be legally used, or different example scenarios for licensed use....
Definition: dwrite.h:394
GDI-compatible subfamily name.
Definition: dwrite.h:410
FLOAT width
The total advance width of all glyphs in the cluster.
Definition: dwrite.h:3269
Definition: dwrite.h:1900
Text lines are placed from bottom to top.
Definition: dwrite.h:1732
Specifies that the substitution method should be determined based on LOCALE_IDIGITSUBSTITUTION value ...
Definition: dwrite.h:2431
UINT32 delimiter
Character code used as the delimiter signaling the beginning of the portion of text to be preserved,...
Definition: dwrite.h:2031
_Notnull_ IDWriteFontFace * fontFace
The physical font face to draw with.
Definition: dwrite.h:3026
Predefined font stretch : Medium (5).
Definition: dwrite.h:295
DWRITE_FONT_STYLE
The font style enumeration describes the slope style of a font face, such as Normal,...
Definition: dwrite.h:322
#define F(x, y, z)
INT32 rightSideBearing
Specifies the X offset from the right edge of the black box to the origin of the next glyph when writ...
Definition: dwrite.h:565
Font face type is not recognized by the DirectWrite font system.
Definition: dwrite.h:123
DWRITE_FLOW_DIRECTION flowDirection
Flow direction of the text associated with the underline. This value is used to interpret whether the...
Definition: dwrite.h:3148
_Field_size_(featureCount) DWRITE_FONT_FEATURE *features
Array of font features.
FLOAT height
The height of the formatted text. The height of an empty string is determined by the size of the defa...
Definition: dwrite.h:3339
INT16 lineGap
Line gap in font design units. Recommended additional white space to add between lines to improve leg...
Definition: dwrite.h:503
GLenum GLuint GLenum GLsizei length
Definition: glext.h:6233
FLOAT ascenderOffset
Offset in the ascent direction, i.e., the direction ascenders point. A positive ascender offset moves...
Definition: dwrite.h:612
Specifies that antialiasing is performed in the horizontal direction. This rendering mode allows glyp...
Definition: dwrite.h:938
UINT32 stringLength
The number of characters (UTF16 code-units). Note that this may be different than the number of glyph...
Definition: dwrite.h:3091
UINT32 length
The number of text positions in the range.
Definition: dwrite.h:1975
DWRITE_TRIMMING_GRANULARITY
Text granularity used to trim text overflowing the layout box.
Definition: dwrite.h:1853
DWRITE_MEASURING_MODE measuringMode
The measuring mode can be useful to the renderer to determine how underlines are rendered,...
Definition: dwrite.h:3164
INT32 verticalOriginY
Specifies the Y coordinate of a glyph's vertical origin, in the font's design coordinate system....
Definition: dwrite.h:593
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844
The center of the paragraph is aligned to the center of the flow of the layout box.
Definition: dwrite.h:1791
Specifies that the rendering mode is determined automatically based on the font and size.
Definition: dwrite.h:907
DWRITE_NUMBER_SUBSTITUTION_METHOD
How to apply number substitution on digits and related punctuation.
Definition: dwrite.h:2425
FLOAT left
Left position of the top-left coordinate of the geometry.
Definition: dwrite.h:3452
GLint GLint GLsizei GLsizei height
Definition: glext.h:6293
The first line of paragraph is aligned to the flow's beginning edge of the layout box.
Definition: dwrite.h:1781
Predefined font stretch : Not known (0).
Definition: dwrite.h:265
URL of font designer (with protocol, e.g., http://, ftp://).
Definition: dwrite.h:379
UINT16 isShapedAlone
This character can be shaped independently from the others (usually set for the space character).
Definition: dwrite.h:2479
DWRITE_MEASURING_MODE
The measuring method used for text layout.
Definition: dcommon.h:35
GLsizei GLenum const GLvoid GLuint GLsizei GLfloat * metrics
Definition: glext.h:12652
DWRITE_FONT_STRETCH
The font stretch enumeration describes relative change from the normal aspect ratio as specified by a...
Definition: dwrite.h:260
static const char * features[]
Definition: version_features.c:34
uint8_t UINT8
Definition: coretypes.h:12