Commit Graph

306 Commits

Author SHA1 Message Date
Nikolay Sivov 4a399b7677 dwrite: Implement font stretch resolution. 2015-08-19 20:19:56 +09:00
Nikolay Sivov 5185906006 dwrite: Implement font style resolution from name strings. 2015-08-18 14:30:37 +09:00
Nikolay Sivov 2ac68e91a4 dwrite: Improve face name extraction. 2015-08-13 15:04:14 +09:00
Nikolay Sivov fb013d7acd dwrite: Fix family name extraction order. 2015-08-13 15:04:12 +09:00
Nikolay Sivov f5f025f1dd dwrite: Use better font matching algorithm based on weight/stretch/style triples. 2015-08-12 22:53:04 +09:00
Nikolay Sivov c7d1b91154 dwrite: Fix font table tag tracing. 2015-08-12 22:52:55 +09:00
Nikolay Sivov e1f353663a dwrite: Fix IsColorFont() return type for IDWriteFont2. 2015-08-07 14:18:03 +09:00
Nikolay Sivov 93d24de308 dwrite: Added IDWriteColorGlyphRunEnumerator stub. 2015-08-07 14:18:01 +09:00
Nikolay Sivov fd35a1af6a dwrite: Implement GetPaletteEntries(). 2015-08-07 14:17:58 +09:00
Nikolay Sivov 5734c2ed98 dwrite: Implement GetPaletteEntryCount(). 2015-08-07 14:17:53 +09:00
Nikolay Sivov 20571725f3 dwrite: Implement GetColorPaletteCount(). 2015-08-07 14:17:51 +09:00
Nikolay Sivov 14e4996f6c dwrite: Implement CreateGlyphRunAnalysis() from IDWriteFactory2. 2015-08-07 14:17:48 +09:00
Nikolay Sivov 8133684816 dwrite: Use right charmap for symbol encoding. 2015-08-07 00:05:06 +09:00
Nikolay Sivov ab7c65ae43 dwrite: Implement IsSymbolFont(). 2015-08-07 00:05:04 +09:00
Nikolay Sivov 6597453403 dwrite: Release run info as soon as it's rendered to save some memory. 2015-08-04 12:21:59 +02:00
Nikolay Sivov 720c430594 dwrite: Advances and offsets are optional for IDWriteGlyphRunAnalysis. 2015-08-04 12:21:58 +02:00
Nikolay Sivov e08b77b0a9 dwrite: Implement CreateAlphaTexture(). 2015-07-31 12:07:26 +02:00
Nikolay Sivov 6d1f47902b dwrite: Translate rendered bitmap bounds to given origin. 2015-07-31 12:07:23 +02:00
Nikolay Sivov 5137aaa9c9 dwrite: Implement parameter validation for CreateAlphaTexture(). 2015-07-29 21:44:01 +02:00
Nikolay Sivov b50416aa5f dwrite: Implement GetAlphaTextureBounds(). 2015-07-29 21:44:01 +02:00
Nikolay Sivov 2c6eca8682 dwrite: Implement GetAlphaBlendParams(). 2015-07-29 20:57:04 +02:00
Nikolay Sivov fb35557db9 dwrite: Store run info for IDWriteGlyphRunAnalysis instance. 2015-07-29 20:57:02 +02:00
Nikolay Sivov e877cfbcfa dwrite: Implement GetRecommendedRenderingMode(). 2015-07-28 13:41:45 +02:00
Nikolay Sivov 5231715d31 dwrite: Improve parameter validation in GetGdiCompatibleGlyphAdvances(), add some tests. 2015-07-20 20:56:04 +02:00
Nikolay Sivov 2655ac5f93 dwrite: Aliased texture could only be requested for aliased rendering mode. 2015-07-17 19:28:04 +09:00
Nikolay Sivov a3f2b6b856 dwrite: Partial implementation of GetGdiCompatibleGlyphMetrics(). 2015-07-16 16:29:46 +09:00
Nikolay Sivov e94d977006 dwrite: Partially implement GetGdiCompatibleGlyphAdvances(). 2015-07-15 23:19:13 +09:00
Nikolay Sivov e6d5c03fde dwrite: Handle negative emsize in GetGdiCompatibleMetrics(). 2015-07-13 14:45:13 +09:00
Nikolay Sivov 849bb99b76 dwrite: Implement GetGdiCompatibleMetrics(). 2015-07-08 19:12:12 +09:00
Bernhard Übelacker 119501fee8 dwrite: Call RegEnumValueW with value and val_count parameters. 2015-07-08 16:02:24 +09:00
Nikolay Sivov 50bf5fca34 dwrite: Implement GetPanose(). 2015-07-07 16:52:21 +09:00
Nikolay Sivov 69d5e351f9 dwrite: Call SetFillMode() once per run. 2015-06-23 15:08:11 +09:00
Nikolay Sivov 86a7f329be dwrite: Forward GetRecommendedRenderingMode() to newer method. 2015-06-22 19:16:49 +09:00
Nikolay Sivov 6655b0c93a dwrite: Call GetCount() once when looking for family name. 2015-06-15 15:29:04 +09:00
Nikolay Sivov eca362bd76 dwrite: Fix problems with outline conversion and reporting. 2015-06-10 15:26:10 +09:00
Nikolay Sivov f4790714fe dwrite: Added IDWriteGlyphRunAnalysis stub. 2015-05-19 22:57:43 +09:00
Julius Schwartzenberg 20aee0673d dwrite: Font search is case insensitive. 2015-04-13 15:49:38 +09:00
Nikolay Sivov 9ec6fd85c4 dwrite: Return CreateStreamFromKey() failure code from Analyze(). 2015-03-30 19:10:31 +09:00
Nikolay Sivov 7e480d3c6d dwrite: Implement GetKerningPairAdjustments(). 2015-03-16 21:42:40 +09:00
Nikolay Sivov 23c2ef2fcd dwrite: Implement HasKerningPairs(). 2015-03-16 21:42:40 +09:00
Nikolay Sivov 2933e8666f dwrite: Fix invalid parameter handling in GetGlyphIndices(). 2015-03-16 21:42:39 +09:00
Nikolay Sivov 5eccb1322d dwrite: Actually return NULL names pointer and error code when failed to read them. 2015-03-16 21:42:39 +09:00
Nikolay Sivov 6ff14a9213 dwrite: Use FreeType CMAP cache system instead of parsing tables manually. 2015-02-23 15:26:02 +09:00
Nikolay Sivov 5a318c3e8b dwrite: Set facename field of a LOGFONT in ConvertFontFaceToLOGFONT(). 2015-02-19 17:50:56 +09:00
Nikolay Sivov 5196be7706 dwrite: Fix error code returned by GetFontFromFontFace(). 2015-02-19 17:50:51 +09:00
Nikolay Sivov c949ff5d24 dwrite: Implement GetGlyphCount(). 2015-02-05 22:19:06 +09:00
Nikolay Sivov afd1911cd7 dwrite: Improve error handling during font collection creation. 2015-02-04 21:42:35 +09:00
Nikolay Sivov 77189de8b7 dwrite: Simplify collection_find_family(). 2015-02-04 21:42:11 +09:00
Nikolay Sivov 8f9bca9103 dwrite: Implement GetCaretMetrics(). 2015-02-03 20:53:07 +09:00
Nikolay Sivov fbeb829584 dwrite: Forward GetGdiCompatibleMetrics() to newer call. 2015-02-03 20:52:58 +09:00
Francois Gouget 3b87dbe062 dwrite: Make free_glyph_outline() static. 2015-01-05 20:17:22 +01:00
Nikolay Sivov 00ea0b72b6 dwrite: Added stub EUDC font collection. 2014-12-17 13:05:18 +01:00
Nikolay Sivov bbe6655280 dwrite: Support outlines with oblique simulation. 2014-12-16 16:31:30 +01:00
Nikolay Sivov 17a24679b4 dwrite: Initial GetGlyphRunOutline() implementation. 2014-12-15 13:41:16 +01:00
Nikolay Sivov de741ffe52 dwrite: Update to IDWriteFactory2. 2014-12-09 18:57:06 +01:00
Nikolay Sivov 415e0b3f54 dwrite: Implement GetDesignGlyphAdvances(). 2014-12-09 18:57:04 +01:00
Nikolay Sivov 730b2f4c66 dwrite: Implement IsMonospacedFont(). 2014-12-09 18:57:01 +01:00
Nikolay Sivov 9978bfb6d7 dwrite: Partially implement GetDesignGlyphMetrics(). 2014-12-08 16:48:45 +01:00
Nikolay Sivov 517185fcf3 dwrite: Set font style to oblique when oblique simulation, was requested. 2014-12-08 16:41:17 +01:00
Francois Gouget d1040304b2 dwrite: Fix compilation on systems that don't support nameless unions. 2014-12-05 20:47:53 +01:00
Nikolay Sivov fe81deae10 dwrite: Make fonts installed in Fonts dir accessible through system collection. 2014-12-02 15:02:43 +01:00
Marcus Meissner c7e9ffa70a dwrite: Remove unused hresult assignment (Coverity). 2014-12-01 11:00:16 +01:00
Marcus Meissner 6ea025fc7f dwrite: Avoid leaking filemapping (Coverity). 2014-12-01 11:00:15 +01:00
Nikolay Sivov 82e66b4b47 dwrite: Fix lineGap metric using 'hhea' table values. 2014-11-28 17:04:45 +01:00
Nikolay Sivov 31496c600d dwrite: Use stream fragment context when reading font tables. 2014-11-27 11:11:16 +01:00
Nikolay Sivov 416527a6ad dwrite: Use file mapping for local file stream. 2014-11-26 17:35:13 +01:00
Nikolay Sivov 7ae3426ea4 dwrite: Forward more font methods to fontface. 2014-11-25 16:35:01 +01:00
Nikolay Sivov a77b9ed0c7 dwrite: Load freetype on module attach, create one FT_Face per fontface. 2014-11-21 18:10:51 +09:00
Nikolay Sivov f16960aeb8 dwrite: Implement GetLastWriteTime() for local stream. 2014-11-19 00:38:56 +09:00
Nikolay Sivov 6564417082 dwrite: Remove null pointer checks that can't fail. 2014-11-18 22:11:29 +09:00
Nikolay Sivov 8b769332e2 dwrite: Reuse local file stream instances. 2014-11-17 19:30:19 +09:00
Nikolay Sivov 53fb0cc711 dwrite: Implement compatible reference key for local files and remaining loader methods. 2014-11-17 19:30:17 +09:00
Nikolay Sivov a8ad62aa51 dwrite: Implement ConvertFontToLOGFONT(). 2014-11-07 20:57:04 +09:00
Nikolay Sivov 6ce8cc149e dwrite: Implement GetMetrics() for DWRITE_FONT_METRICS1. 2014-11-07 20:57:02 +09:00
Nikolay Sivov c8bc7ea849 dwrite: Implement GetMetrics() for fontface. 2014-11-06 15:01:29 +09:00
Nikolay Sivov 90753adaaf dwrite: Use public APIs to get file streams from fontface. 2014-11-06 15:01:27 +09:00
Nikolay Sivov 19869997d4 dwrite: Added a separate helper to fill font metrics structure. 2014-11-06 15:01:25 +09:00
Nikolay Sivov 3fd93c0d1d dwrite: File and factory are always set now for all collections. 2014-11-06 15:01:23 +09:00
Nikolay Sivov 1e0b934139 dwrite: Don't cache fontface instance in font data. 2014-11-06 15:01:20 +09:00
Nikolay Sivov ad69c7bf6d dwrite: Implement GetFaceNames(). 2014-11-05 15:53:47 +09:00
Nikolay Sivov c0796ecb49 dwrite: Fix setting oblique simulation on font creation. 2014-11-05 15:53:40 +09:00
Nikolay Sivov 9045ab7f33 dwrite: Remove null checks for family and collection pointers, those are always set now. 2014-11-04 22:49:20 +09:00
Marcus Meissner a423cbdd5e dwrite: Fixed memory leak on error (Coverity). 2014-11-03 16:33:54 +09:00
Nikolay Sivov 7126921615 dwrite: Turn fixme to trace in Analyze(). 2014-10-30 12:00:13 +09:00
Nikolay Sivov cae5d19338 dwrite: Implement system font collection as any other font collection. 2014-10-30 12:00:12 +09:00
Nikolay Sivov 6855740a5e dwrite: Reimplement ConvertFontFaceToLOGFONT(). 2014-10-29 20:47:28 +09:00
Nikolay Sivov 1d2993940a dwrite: Set oblique simulation in GetFirstMatchingFont() when appropriate. 2014-10-29 20:47:23 +09:00
Nikolay Sivov 901a65ae42 dwrite: Store simulations flags at font instance level. 2014-10-29 20:47:05 +09:00
Nikolay Sivov 5a5a6bdd92 dwrite: Allow for a weight difference in GetFirstMatchingFont(). 2014-10-29 20:47:02 +09:00
Nikolay Sivov 6706ada9f8 dwrite: Use API-defined type for family count. 2014-10-29 20:46:58 +09:00
Nikolay Sivov 1ab456fde3 dwrite: Implement GetFontFromFontFace(). 2014-10-27 19:02:47 +09:00
Nikolay Sivov 340aa07f60 dwrite: Initialize allocation size for a family before using it. 2014-10-27 19:02:47 +09:00
Nikolay Sivov fbf2557cd7 dwrite: Implement custom font collections. 2014-10-24 19:58:06 +09:00
Nikolay Sivov 35e9b6d85d dwrite: Pass raw NAME table pointer to table reading code. 2014-10-24 19:58:05 +09:00
Nikolay Sivov 42882f7f75 dwrite: Cache fontface instances at factory level. 2014-10-24 19:58:05 +09:00
Nikolay Sivov b4dc4e257c dwrite: Remove unused parameter. 2014-10-22 21:02:05 +09:00
Nikolay Sivov 04a237fe18 dwrite: Implement GetInformationalStrings(). 2014-10-21 18:49:14 +09:00
Nikolay Sivov a088f7d381 dwrite: Implement CreateFontFromLOGFONT() on top of system font collection. 2014-10-20 21:32:47 +09:00
Nikolay Sivov d02d35a7b1 dwrite: Create IDWriteFontFace2 instance for IDWriteFont. 2014-10-17 14:40:48 +09:00
Nikolay Sivov 460363535e dwrite: Added a helper to get IDWriteFontFace from IDWriteFont. 2014-10-17 14:40:37 +09:00
Nikolay Sivov 4c0ec6700c dwrite: Implement GetUnicodeRanges(). 2014-10-16 13:00:16 +09:00
Nikolay Sivov d3cdec0e66 dwrite: Use better integer types for cmap helpers. 2014-10-16 13:00:12 +09:00
Nikolay Sivov 9b46e19aa4 dwrite: Implement HasCharacter(). 2014-10-16 13:00:07 +09:00
Nikolay Sivov d8a66e634c dwrite: Refuse to create IDWriteFontFace with invalid collection index. 2014-10-15 21:31:51 +09:00
Nikolay Sivov a1ff4f904e dwrite: Update to IDWriteFontFace2. 2014-10-14 17:42:47 +09:00
Nikolay Sivov 1f9ca4775a dwrite: Update to IDWriteFont2. 2014-10-14 17:42:43 +09:00
Aric Stewart 8a5707111a dwrite: Build non-system font collections as a list of font families. 2014-10-09 17:36:22 +02:00
Nikolay Sivov 1e65a32e26 dwrite: Pass stream pointer to OpenType parsing code. 2014-10-08 13:13:38 +02:00
Nikolay Sivov 3b1e8bf824 dwrite: Use public macro to define OpenType tags. 2014-10-07 20:22:02 +02:00
Nikolay Sivov 07dc8b66e4 dwrite: Move font table related data to a separate structure.
Eventually we should get rid of separate allocations on every
TryGetFontTable(), that's not how local loader works. Instead it maps
font file and returns pointers to a mapping, context is always NULL in
this case.
2014-10-07 20:22:02 +02:00
Marcus Meissner 50c8766cce dwrite: Check correct variable for NULL (Coverity). 2014-09-23 13:01:42 +02:00
Marcus Meissner 90774871c8 dwrite: Fixed NULL ptr deref before check (Coverity). 2014-09-22 19:07:30 +02:00
Aric Stewart 15ef946f53 dwrite: Break fontfamily data into its own structure. 2014-09-10 21:36:52 +02:00
Aric Stewart 5d3eaf57ca dwrite: Shift to using localized string for family name. 2014-09-05 13:39:53 +02:00
Aric Stewart 1d6147ec9a dwrite: Shift get_font_properties to opentype. 2014-09-05 13:39:20 +02:00
Aric Stewart ef173c4312 dwrite: Implement GetFontCollection. 2014-09-04 20:21:03 +02:00
Aric Stewart 383854defa dwrite: Implement a list of font data for IDWriteFontFamily. 2014-09-04 20:21:03 +02:00
Aric Stewart 86af1acff4 dwrite: Check if family is set before releasing. 2014-09-03 17:32:35 +02:00
Aric Stewart b9cfb927ec dwrite: Break out basic IDWriteFont creation from requiring a logfont. 2014-09-03 17:32:28 +02:00
Aric Stewart 2ec9fbb205 dwrite: Implement GetGlyphIndices from the CMAP table. 2014-09-03 17:32:13 +02:00
Aric Stewart 8b2e666d3f dwrite: Add face data to font data. 2014-09-02 20:54:39 +02:00
Aric Stewart e707bb6bcd dwrite: Store fontface data in its own structure. 2014-09-02 20:54:38 +02:00
Aric Stewart daef5061e8 dwrite: Store font data in its own structure. 2014-09-02 20:54:35 +02:00
Aric Stewart f49c740907 dwrite: Add the system font collection to the dwrite factory object. 2014-09-02 15:07:44 +02:00
Francois Gouget 466f9790de dwrite: Remove a space before a '\n'. 2014-09-01 13:12:06 +02:00
Aric Stewart 95466a1c2f dwrite: Beginning implementation of IDWriteLocalFontFileLoader. 2014-08-26 22:18:41 +02:00
Francois Gouget 4c7826066e dwrite: Remove WINAPI on static functions where not needed. 2014-08-25 10:50:46 +02:00
Aric Stewart bc77ee6818 dwrite: Implement TryGetFontTable and ReleaseFontTable. 2014-08-20 19:57:10 +02:00
Aric Stewart 26977d4a4b dwrite: Initial implementation of CreateFontFace. 2014-08-20 19:52:03 +02:00
Aric Stewart 366c40813c dwrite: Beginning implementation of IDWriteFontFile_Analyze. 2014-08-20 19:51:48 +02:00
Aric Stewart bb9721bd29 dwrite: Initial implementation of CreateCustomFontFileReference. 2014-08-20 19:51:04 +02:00
Nikolay Sivov 1c23bf04c7 dwrite: Added some layout tests, simplify debug output for text ranges. 2014-07-30 11:27:14 -05:00
Nikolay Sivov 5e4d5ebde7 dwrite: Implement ConvertFontFaceToLOGFONT(). 2014-01-06 17:05:31 +01:00
Andrew Talbot fd00c806bf dwrite: Avoid signed-unsigned integer comparisons. 2013-03-11 10:43:01 +01:00
Dmitry Timoshkov 1ea524a861 dwrite: Avoid triggering an exception on DLL_PROCESS_DETACH. 2013-01-28 14:04:54 +01:00
Nikolay Sivov 0e179e08b6 dwrite: Handle allocation error (Coverity). 2012-11-29 11:15:42 +01:00
Nikolay Sivov 4dbacf05fb dwrite: Partially implement IDWriteFontFace::GetGlyphIndices(). 2012-10-24 14:20:27 +02:00
Nikolay Sivov 22508806fc dwrite: Added basic GetFirstMatchingFont() for font family. 2012-10-23 13:20:58 +02:00
Nikolay Sivov 10431905e5 dwrite: Implement GetFontFamily() for system font collection. 2012-10-23 13:20:54 +02:00
Nikolay Sivov a291a7adf8 dwrite: Keep a single instance of system font collection. 2012-10-23 13:20:44 +02:00
Nikolay Sivov 2793d8196b dwrite: Implement FindFamilyName() for system font collection. 2012-10-22 12:21:32 +02:00
Nikolay Sivov f0f1735495 dwrite: Add all installed font families to system font collection. 2012-10-22 12:21:28 +02:00
Nikolay Sivov eb7d51b649 dwrite: Fix a stupid copy/paste typo in Release return value. 2012-10-22 12:21:23 +02:00
Nikolay Sivov be699372c2 dwrite: Added a stub for IDWriteFontCollection. 2012-10-22 12:21:19 +02:00
Nikolay Sivov 6067df7291 dwrite: Implement GetMetrics() for IDWriteFont. 2012-10-16 11:37:45 +02:00
Nikolay Sivov 438d115ec6 dwrite: Correct reference count behavior for font face interface. 2012-10-15 15:25:27 +02:00
Nikolay Sivov 0358413e35 dwrite: Implement GetWeight() for IDWriteFont. 2012-10-12 13:21:00 +02:00
Nikolay Sivov ab91abd755 dwrite: Use proper table field as stretch value. 2012-10-12 13:20:49 +02:00
Nikolay Sivov 0a6663908d dwrite: Implement GetFontStretch(). 2012-10-10 20:34:06 +02:00
Nikolay Sivov 98ce55c148 dwrite: Add family name to string array. 2012-10-08 12:54:59 +02:00
Nikolay Sivov 41df37f17d dwrite: Added IDWriteFontFace stub. 2012-10-08 12:54:59 +02:00
Nikolay Sivov 45a9560e83 dwrite: Added IDWriteLocalizedStrings stub. 2012-10-08 12:54:58 +02:00
Nikolay Sivov 89561b9247 dwrite: Store font family name in IDWriteFontFamily implementation. 2012-10-08 12:54:58 +02:00
Nikolay Sivov debc356afd dwrite: Added IDWriteFontFamily stub. 2012-08-27 19:42:15 +02:00
Nikolay Sivov 09ba9bdb0a dwrite: Store font style provided in LOGFONT data. 2012-08-13 16:28:44 +02:00
Nikolay Sivov 56d71b04b7 dwrite: Added IDWriteFont stub. 2012-08-13 16:15:21 +02:00