src/hb-directwrite.cc


Log

Author Commit Date CI Message
Behdad Esfahbod 94d43c00 2021-12-04T16:56:39 [buffer] Merge and rename clear_glyph_flags()
Khaled Hosny 361a4386 2021-12-01T03:16:46 Revert "Revert "[hb-directwrite] Don't load dwrit.dll dynamically"" This reverts commit ecbe224743c205c99aa459b27e7fb241cc4b1dc5. It was causing directwrite shaper to crash in MSVC builds.
Khaled Hosny 7608b191 2021-12-01T18:57:21 [directwrite] Set unsafe to break flag Like the rest of platform shapers. Otherwise hb-shape --verify goes crazy.
Cameron Cawley ecbe2247 2021-09-24T21:32:12 Revert "[hb-directwrite] Don't load dwrit.dll dynamically" This reverts commit 6119ff9d806db7de3ceef73de67fe589507800bb.
Khaled Hosny 990c15db 2021-07-27T20:43:53 [hb-ms-features] Rename types to be less general
Khaled Hosny 69199211 2021-07-27T19:51:23 [uniscribe/directwrite] Move feature setup to shared file Fixes https://github.com/harfbuzz/harfbuzz/issues/3070
Behdad Esfahbod 2337f0d0 2021-07-08T10:58:50 Internally use hb_malloc/.../hb_free instead of malloc/.../free Redefining those stock names as macros was conflicting with gcc 10 headers. Fixes https://github.com/harfbuzz/harfbuzz/issues/3044
Khaled Hosny 14f220b7 2021-06-20T18:59:13 [directwrite] Support feature ranges Code copied from hb-uniscribe.cc and adapted to use DirectWrite types. May be there is a better way to de-duplicate the code, though I'm not exactly sure how or if it is worth it.
Khaled Hosny 6119ff9d 2021-06-03T13:02:53 [hb-directwrite] Don't load dwrit.dll dynamically We already link to it, so I don't see the point of trying to load it dynamically.
Khaled Hosny b2070a50 2021-06-03T10:50:46 [hb-directwrite] Don’t override new/delete This is a testing shaper, we don’t care for overridden malloc/free here. Use malloc/free in the code called from hb_directwrite_face_create().
Khaled Hosny 221d642b 2021-06-03T10:45:23 [hb-directwrite] Remove _hb_directwrite_shape_experimental_width Not used anywhere.
Khaled Hosny e116058b 2021-04-15T13:52:19 [directwrite] Use correct UTF-16 string length Fixes https://github.com/harfbuzz/harfbuzz/issues/2474
Khaled Hosny 3d7a3616 2020-12-30T23:58:37 [docs] Miscellaneous missing docs
Khaled Hosny 08269408 2020-12-23T00:45:39 [docs] Add messing sections Docs for these sections were not generated at all.
Ebrahim Byagowi 2be859d2 2020-04-20T23:48:23 minor, replace nullptr checks with implicit ones
Iceflower c4567968 2019-09-26T11:35:27 [dwrite] Fix extra semicolon issue
Ebrahim Byagowi 2a3d4987 2019-08-21T03:02:01 Remove hb_directwrite_shape_experimental_width public API I had specially exposed the API as I didn't know how to embed harfbuzz easily elsewhere but now with harfbuzz.cc it has become very easy and I don't like to see its use anywhere as it has a bad naming and its Kashida adding is bogus and only useful to check where it should be added, not visually useful however.
Ebrahim Byagowi eb8bd2f7 2019-07-16T22:27:01 Add hb_gdi_face_create API Based on Konstantin Ritt work posted on mailing list
Ebrahim Byagowi 9fea6b4d 2019-07-05T18:46:41 [amalgam] Use it in cmake port and fix conflicts (#1812)
Ebrahim Byagowi 4ab2d1d6 2019-07-01T19:30:21 [dwrite] Apply minor style improves
Carlo Bramini 5ebd265e 2019-07-01T16:06:43 Fix error rised by GCC8+
Carlo Bramini 693dacbb 2019-07-01T13:31:26 Use lower case file name with #include I tried to cross compile harfbuzz for Windows and an error was generated because `DWrite_1.h` was not found. This happened because the filesystem is case sensitive and for this reason that include file was not found. The right name of the file to be used is `dwrite_1.h`, with all letters not capitalized: https://docs.microsoft.com/en-us/windows/desktop/api/dwrite_1/ I also verified in the installation of VS2017 with Windows Kit v10 and in that place it was also lower case. So, in my opinion it should be better to change this.
Carlo Bramini 601b6825 2019-06-30T15:03:44 Dynamically load DWRITE Also checks if DWriteCreateFactory() has been executed successfully.
Behdad Esfahbod 10bac21b 2019-06-18T15:15:06 [coretext/uniscribe/directwrite] Remove extra semicolons Fixes https://github.com/harfbuzz/harfbuzz/pull/1783
Behdad Esfahbod aa3450ca 2019-06-17T22:41:49 [config] Don't compile disabled features This makes it possible to include all .cc files into build, even if not building CoreText, Uniscribe, etc. This was mostly to help custom builders. But also means that we can include all files in our own build system. Not sure if we should. Definitely simplifies things, but slightly only.
Ebrahim Byagowi c91f3fa3 2019-06-01T10:55:37 [dwrite] Replace REPLACEME with release version the symbol had
Behdad Esfahbod 68e12e68 2019-05-13T17:28:59 Fix more semi-colon issues
Behdad Esfahbod 41248cce 2019-05-07T20:54:31 Remove MIN/MAX in favor of hb_min/hb_max
Ebrahim Byagowi f27fdca4 2019-04-30T13:01:04 [doc] Add documentation to hb_color_get_* and hb_directwrite_face_* (#1690)
Michiharu Ariza d75b73a3 2019-03-30T00:06:54 fix rebase errors
Michiharu Ariza cc94a9ed 2019-03-29T18:41:38 Merge branch 'var-subset' of https://github.com/harfbuzz/harfbuzz into var-subset rebase master
Ebrahim Byagowi c2e9d750 2019-02-22T13:13:42 [dwrite] hb_directwrite_face_create, a new API It makes a hb_face_t from IDWriteFontFace, useful when using DirectWrite facilities for font selection, loading and rendering but using harfbuzz for shaping.
Ebrahim Byagowi b292772e 2019-03-29T13:00:56 [dwrite] A new API, hb_directwrite_face_get_font_face (#1600) Can be useful when using HarfBuzz for font loading and shaping but using DirectWrite for rendering.
Behdad Esfahbod 59f36f36 2019-03-29T10:55:12 Replace REPLACEME's left out of 2.4.0 https://github.com/harfbuzz/harfbuzz/issues/1641
Ebrahim Byagowi 45149eb3 2019-02-22T13:13:42 [dwrite] hb_directwrite_face_create, a new API It makes a hb_face_t from IDWriteFontFace, useful when using DirectWrite facilities for font selection, loading and rendering but using harfbuzz for shaping.
Ebrahim Byagowi 0c2bd1b1 2019-01-19T16:30:07 [dwrite] Fix delete-non-virtual-dtor warning (#1550)
Behdad Esfahbod c2ea7a9d 2019-01-18T13:45:33 [directwrite] More fix
Ebrahim Byagowi 9714d3ec 2019-01-18T21:55:21 [dwrite] Try to fix delete-non-virtual-dtor warnings Fixes #1548 hopefully
Behdad Esfahbod e6527228 2019-01-18T12:22:07 [directwrite] Fix error hb-directwrite.cc: In constructor 'TextAnalysis::TextAnalysis(const wchar_t*, uint32_t, const wchar_t*, DWRITE_READING_DIRECTION)': hb-directwrite.cc:489:18: error: 'TextAnalysis::mText' will be initialized after [-Werror=reorder] const wchar_t* mText; ^~~~~ hb-directwrite.cc:488:12: error: 'uint32_t TextAnalysis::mTextLength' [-Werror=reorder] uint32_t mTextLength; ^~~~~~~~~~~ hb-directwrite.cc:282:3: error: when initialized here [-Werror=reorder] TextAnalysis (const wchar_t* text, uint32_t textLength, ^~~~~~~~~~~~ hb-directwrite.cc: In function 'hb_bool_t _hb_directwrite_shape_full(hb_shape_plan_t*, hb_font_t*, hb_buffer_t*, const hb_feature_t*, unsigned int, float)':
Behdad Esfahbod 5b13e458 2019-01-17T19:52:32 Fix build
Ebrahim Byagowi e4120085 2018-12-17T21:31:01 Remove redundant void from C++ sources (#1486)
Ebrahim Byagowi b2ebaa9a 2018-12-16T22:38:10 Remove redundant 'inline' from methods (#1483)
Ebrahim Byagowi 7ee5c523 2018-12-12T15:14:37 minor style fix, use void in methods on no argument
Behdad Esfahbod 729aedf0 2018-11-16T03:26:46 [directwrite] Fix build
Behdad Esfahbod ce5da0f3 2018-11-16T02:29:13 [shaper] Rewrite shaper data code to be more template-driven than macro-driven
Behdad Esfahbod f521a28b 2018-11-11T21:32:01 Embed hb_ot_shape_plan_t into hb_shape_plan_t No other shaper will need shape_plan_data, by definition. So, remove abstraction layer and always create hb_ot_shape_plan_t as part of hb_shape_plan_t.
Behdad Esfahbod 1beacdde 2018-11-11T16:35:28 Minor
Behdad Esfahbod c77ae408 2018-08-25T22:36:36 Rename hb-*private.hh to hb-*.hh Sorry for the noise, downstream custom builders. Please adjust.
Behdad Esfahbod 3d22aefe 2018-08-01T18:03:32 Rename
Behdad Esfahbod be458eb0 2018-07-10T14:41:04 Include more basic internal headers from hb-private.hh
Ebrahim Byagowi a57f5a1a 2018-04-28T13:58:55 [dwrite] Minor, enable the original code assertions
Ebrahim Byagowi cb3fa70c 2018-04-11T18:00:13 [dwrite] Cosmetic change (#963)
Ebrahim Byagowi fe18c471 2018-03-25T18:19:23 [dwrite] minor
Ebrahim Byagowi 7919033c 2018-03-22T16:04:38 [dwrite] Replace rest of 'malloc/free's with 'new/delete' (#897)
Ebrahim Byagowi 957e7756 2018-03-19T12:19:42 [dwrite] Use new again and enable the build on msys2 bots (#890)
Ebrahim Byagowi d4907e83 2018-03-14T11:04:28 [dwrite] GCC/mingw/msys2 compatibility (#884)
David Corbett 21646cc4 2018-02-16T12:08:55 Do not mark the first glyph as unsafe to break Fixes #791.
Bruce Mitchener 90218fa9 2018-01-31T20:44:45 Fix typos.
Behdad Esfahbod e4da3802 2017-11-10T17:14:27 [coretext/uniscribe/directwrite/graphite/fallback] Update for unsafe-to-break Fixes https://github.com/behdad/harfbuzz/issues/615 We'll see which bots I broke.
Behdad Esfahbod 40ec3bbb 2017-11-03T16:57:30 Consolidate debug stuff into hb-debug.hh Part of fixing https://github.com/behdad/harfbuzz/pull/605
Behdad Esfahbod dbdbfe3d 2017-10-15T12:11:08 Use nullptr instead of NULL
Behdad Esfahbod 239119a6 2017-08-13T15:08:34 [unsafe-to-break] Mark all positions as unsafe in alternative shapers
Behdad Esfahbod 466b3e58 2017-02-03T16:43:25 Shuffle things around a bit
Behdad Esfahbod d2f249e7 2017-01-22T17:42:33 Stub out doc comments for new symbols
Behdad Esfahbod 5dfd341f 2017-01-22T16:55:40 Minor
ebraminio 1e1825bf 2016-12-17T10:30:40 [dwrite] Provide an experimental API for justification (#279)
Behdad Esfahbod 72ada4f0 2016-09-10T03:57:24 [GX] Hook up feature variations Shape-plan caching is not implemented.
Ebrahim Byagowi 5362ce6a 2016-09-01T20:05:45 [dwrite] Minor, don't include unnecessary headers (#309)
Behdad Esfahbod 33317310 2016-08-08T17:24:04 Fix sign of shift operators This one: map->mask = (1 << (next_bit + bits_needed)) - (1 << next_bit); before the fix, the shift was done as an int, causing overflow if it ever got to 1 << 31. Sprinkle 'u's around. Fixes https://bugs.chromium.org/p/chromium/issues/detail?id=634805
Ebrahim Byagowi 8179ff5d 2016-06-27T03:54:15 [dwrite] Don't allocate more than needed Addressing Nikolay Sivov reviews on harfbuzz mailing list
Ebrahim Byagowi 07b724f3 2016-06-24T12:23:25 [dwrite] Delete remained objects No longer noticeable memory increase on create/destroy iterations, highly better than current state of uniscribe backend
Ebrahim Byagowi be565d17 2016-06-24T11:42:01 [dwrite] Release allocated blob on face destroy This reduces memory consumption of my iterated font create/destroy cycle test significantly and makes it much better than uniscribe backend even
Ebrahim Byagowi f3f0ea98 2016-06-23T16:41:37 [dwrite] Remove ifdefs without breaking execution on old Windows versions
Ebrahim Byagowi 6b861dbd 2016-06-21T13:57:26 [dwrite] Use stream font loader instead GDI interop With help of https://dxr.mozilla.org/mozilla-central/source/gfx/2d/NativeFontResourceDWrite.cpp
Ebrahim Byagowi d3134a66 2016-04-05T21:01:05 Fix when no feature is given
Ebrahim Byagowi 4a104021 2016-04-02T13:47:59 Hide justification behind HB_DIRECTWRITE_EXPERIMENTAL_JUSTIFICATION
Ebrahim Byagowi 63ee9ca5 2016-04-01T15:47:07 Use standard types instead Windows favourites ones
Ebrahim Byagowi adf20ba0 2016-04-01T15:36:40 Limit GetJustifiedGlyphs only to scripts with custom justification character
Ebrahim Byagowi 32ae9d1b 2016-04-01T06:39:57 Add justification support
Ebrahim Byagowi 10c3d9e4 2016-03-31T18:19:44 Basic opentype features support
Ebrahim Byagowi d1298971 2016-03-31T13:45:37 Refactor and remove dupe getglyphs call
Ebrahim Byagowi 5f1a8961 2016-03-31T12:26:16 Better glyph offset support
Ebrahim Byagowi d691ba3f 2016-03-30T20:21:40 Don't fail when language is not set
Ebrahim Byagowi 1c00a46c 2016-03-30T20:15:09 Make DirectWrite backend to work with different font sizes Actually copyedited same logic from Uniscribe to make it just work
Khaled Hosny d7bf9d05 2015-12-29T02:23:24 [docs] Fix comment syntax To lower the number of gtk-doc warnings.
Ebrahim Byagowi f35b3e93 2015-09-11T09:48:12 Add a prototype of DirectWrite as a shaping backend