Commit Graph

270 Commits

Author SHA1 Message Date
Nikolay Sivov 416527a6ad dwrite: Use file mapping for local file stream. 2014-11-26 17:35:13 +01:00
Nikolay Sivov 87a9b51ccc dwrite: Use usWin* values from OS/2 table as font ascent/descent. 2014-11-25 16:35:03 +01:00
Nikolay Sivov b8db7f6a04 dwrite: Update to IDWriteBitmapRenderTarget1. 2014-11-25 16:35:02 +01:00
Nikolay Sivov 7ae3426ea4 dwrite: Forward more font methods to fontface. 2014-11-25 16:35:01 +01:00
André Hentschel 2b3c5d6194 dwrite: Remove unused code (Clang). 2014-11-25 13:47:39 +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 9db50228dd dwrite: Implement SetCurrentTransform() for bitmap render target. 2014-11-19 23:36:35 +09:00
Nikolay Sivov c457d0f107 dwrite: Handle Unicode platform when looking for name record codepage. 2014-11-19 23:36:35 +09:00
Nikolay Sivov e6cd0f7d8c dwrite/tests: Some tests for ReadFileFragment(). 2014-11-19 00:38:58 +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 53209e7017 dwrite: Remove OpenType language id from cache. 2014-11-10 19:25:41 +09:00
Nikolay Sivov a8ad62aa51 dwrite: Implement ConvertFontToLOGFONT(). 2014-11-07 20:57:04 +09:00
Nikolay Sivov 49c8e98f74 dwrite: Respond to IID_IDWriteTextLayout1 too. 2014-11-07 20:57:03 +09:00
Nikolay Sivov a714f0fe75 dwrite: Added a basic test for TryGetFontTable(). 2014-11-07 20:57:02 +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 e2eb760ffc dwrite: Implement remaining methods of IDWriteLocalizedStrings. 2014-11-05 15:53:50 +09:00
Nikolay Sivov ad69c7bf6d dwrite: Implement GetFaceNames(). 2014-11-05 15:53:47 +09:00
Nikolay Sivov 16aa4f1faa dwrite: Fix compiler warning regarding unsigned type of enum member. 2014-11-05 15:53:44 +09:00
Nikolay Sivov c0796ecb49 dwrite: Fix setting oblique simulation on font creation. 2014-11-05 15:53:40 +09:00
Nikolay Sivov 1ef30feba8 dwrite/tests: Some tests for custom font collections. 2014-11-04 22:49:27 +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
Nikolay Sivov 3a2de7aef8 dwrite: Map Mac language id to locale name. 2014-11-04 22:49:10 +09:00
Marcus Meissner a423cbdd5e dwrite: Fixed memory leak on error (Coverity). 2014-11-03 16:33:54 +09:00
Nikolay Sivov afea35f56a dwrite: Store pixels per dip value for a render target. 2014-10-30 12:00:19 +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 2bc984a5b1 dwrite: Properly null-terminate name string when converting to WCHAR. 2014-10-30 12:00:03 +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 6128e73f77 dwrite: Support Mac platform id and some of its encodings when reading 'name' table. 2014-10-29 20:46:55 +09:00
Nikolay Sivov 34823028e1 dwrite: Allow null arguments in opentype_get_font_table(). 2014-10-27 19:02:48 +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 5b10a69c3a dwrite: Block attempts of registering local file loader. 2014-10-27 19:02:46 +09:00
Nikolay Sivov be69977cd5 dwrite/tests: Fix recently inroduced test failure. 2014-10-27 19:02:45 +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 2300602586 dwrite: Use helpers to search through loaders lists. 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 fefb947516 dwrite/tests: Fix some test failures. 2014-10-24 19:58:05 +09:00
Nikolay Sivov 561ac1d829 dwrite/tests: Some tests for local font file loader. 2014-10-23 19:30:53 +09:00
Nikolay Sivov 272964666a dwrite/tests: Create separate isolated factory for each test. 2014-10-23 19:30:50 +09:00
Nikolay Sivov 42e5a32cc3 dwrite: Some tests for reused fontface instances. 2014-10-22 21:02:11 +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 177f601889 dwrite: Store registered file loaders in a list. 2014-10-21 18:48:49 +09:00
Nikolay Sivov 00e352992e dwrite: Store registered collection loaders in a list. 2014-10-21 18:48:42 +09:00
Nikolay Sivov cd7c31fe08 dwrite: Implement CreateFontFaceFromHdc(). 2014-10-20 21:33:27 +09:00
Nikolay Sivov a088f7d381 dwrite: Implement CreateFontFromLOGFONT() on top of system font collection. 2014-10-20 21:32:47 +09:00
Nikolay Sivov ea11f85a94 dwrite: Store factory pointer gdiinterop was created from. 2014-10-20 21:32:44 +09:00
Nikolay Sivov bb23664ee9 dwrite: Some tests for IDWriteFontColletion methods. 2014-10-17 14:40:56 +09:00
Nikolay Sivov e3c514f6d5 dwrite: Return on first found glyph. 2014-10-17 14:40:51 +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 571307edc2 dwrite: Hide BiDi helpers. 2014-10-17 14:40:31 +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 8f34bee25a dwrite: Added one more test for system font collection. 2014-10-16 13:00:03 +09:00
Nikolay Sivov 617f668f49 dwrite: Block negative max height/width for layout. 2014-10-15 21:31:58 +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
Nikolay Sivov 1006987712 dwrite: Create single shared factory. 2014-10-14 17:42:15 +09:00
Nikolay Sivov 28e9b3f421 dwrite: Added parameter check for registering/unregistering collection loaders. 2014-10-14 17:42:10 +09:00
Nikolay Sivov c27af4774e widl: Generate method macros/wrappers for overridden methods. 2014-10-14 14:15:30 +09:00
Nikolay Sivov 120422e93b dwrite: Update to IDWriteTextFormat1. 2014-10-13 18:09:41 +09:00
Nikolay Sivov 45f9540d2b dwrite: Update to IDWriteTextLayout2. 2014-10-13 18:09:33 +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 37a02acc6a dwrite: Use E_NOT_SUFFICIENT_BUFFER definition. 2014-10-08 10:19:00 +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
Nikolay Sivov c9bb307c35 dwrite: Store OpenType language tag in shaping cache. 2014-10-07 20:22:01 +02:00
Nikolay Sivov cb8556c171 dwrite: Introduce cache to be used by shaping engines. 2014-10-07 20:22:00 +02:00
Nikolay Sivov 3704072911 dwrite: Mirror characters in case of RTL direction. 2014-10-06 17:36:26 +02:00
Nikolay Sivov 1843972e0e dwrite: Initial implementation of GetGlyphs(). 2014-10-06 17:36:01 +02:00
Nikolay Sivov 7c035744f6 dwrite: Implement CreateNumberSubstitution(). 2014-10-02 22:55:02 +02:00
Nikolay Sivov fdd8454ef8 dwrite: Implement AnalyzeBidi(). 2014-10-01 12:01:05 +02:00
Francois Gouget 0dd5cb1cef Assorted spelling fixes. 2014-09-29 10:36:36 +02:00
Nikolay Sivov 7eac1f7156 dwrite: Implement GetTextComplexity(). 2014-09-26 14:00:06 +02:00
Nikolay Sivov 59bdda006b dwrite: Implement GetScriptProperties(). 2014-09-26 13:59:52 +02:00
Nikolay Sivov dae9096c2e dwrite: Allow underscores in script names. 2014-09-25 13:44:53 +02:00
Nikolay Sivov d58f519c08 dwrite: Update to IDWriteTextAnalyzer2. 2014-09-25 13:44:47 +02:00
Nikolay Sivov e36025a2a8 dwrite: Implement itemization by script id using Unicode.org data. 2014-09-24 11:10:39 +02:00
Marcus Meissner 50c8766cce dwrite: Check correct variable for NULL (Coverity). 2014-09-23 13:01:42 +02:00
André Hentschel b12381a04a dwrite: Check correct variable (Coverity). 2014-09-22 21:22:20 +02:00
Nikolay Sivov 2c6cc0be46 dwrite: Use proper type for return value. 2014-09-22 19:08:43 +02:00
Marcus Meissner d684d776c2 dwrite: Avoid NULL ptr dereference (Coverity). 2014-09-22 19:07:34 +02:00