src


Log

Author Commit Date CI Message
Behdad Esfahbod 351f68f4 2015-06-12T17:46:06 [bindings] Fix hb_language_get_default() and hb_ot_tag_to_language() Part of https://github.com/behdad/harfbuzz/issues/91
Behdad Esfahbod a5e4f6d6 2015-06-10T10:57:46 Fix warnings: "member call on null pointer of type" https://bugzilla.mozilla.org/show_bug.cgi?id=1167119
Behdad Esfahbod 8dacb7f8 2015-06-03T11:53:42 Add include check to hb-ot-font.h
Sascha Brawer 01c3a885 2015-06-01T13:22:01 Fix "Since:" tags Based on data from http://upstream-tracker.org/versions/harfbuzz.html Resolves #103
Behdad Esfahbod f1b44303 2015-05-21T14:00:15 Fix unary minus operator applied to unsigned int Applying unary minus operator to unsigned int causes the following warning on MSVS: warning C4146: unary minus operator applied to unsigned type, result still unsigned Based on patch from Koji Ishi. Fixes https://github.com/behdad/harfbuzz/pull/110
Behdad Esfahbod 1ae6cdb3 2015-05-19T17:42:30 [gobject] Remove hb_language_t workarounds for g-i shortcomings Using latest gobject-introspection, I don't seem to be having this problem anymore: https://bugzilla.gnome.org/show_bug.cgi?id=707656 Removing that kludge makes language_t behave more like the way I expect it in Python. Also fixes: https://github.com/behdad/harfbuzz/issues/91
Behdad Esfahbod ece434fa 2015-05-19T17:20:58 [gobject] Macroize value types Fixes user_data_t
Behdad Esfahbod 9df099b4 2015-05-18T18:37:06 [ft] Don't set *glyph in get_glyph() if glyph not found
Behdad Esfahbod 58015215 2015-05-06T00:40:31 Add note re OpenType 1.7 language tags
Roozbeh Pournader f6266ad2 2015-05-05T22:31:19 [minor] Remove comment about Navajo OpenType code. Apparently the code is already standardized: https://www.microsoft.com/typography/otspec/languagetags.htm
Behdad Esfahbod 42b00118 2015-05-05T14:49:47 Merge pull request #102 from roozbehp/master Add OpenType language tag 'NAV ' for Navajo.
Behdad Esfahbod be66ec53 2015-04-30T18:27:13 Use TRUE/FALSE instead of true/false in docs
Khaled Hosny d055e1fc 2014-01-08T02:28:55 Some attempt into initial hb-shape documentation Very anaemic, needs to descripe the format understood by hb_feature_from_string() etc., but it is just start.
Behdad Esfahbod 81bedda5 2015-04-30T13:04:16 New API: hb_buffer_reverse_range()
Roozbeh Pournader cfeb0562 2015-04-29T09:32:42 Add OpenType language tag 'NAV ' for Navajo. The code is not standardized yet, but is used in some Google fonts.
Jonathan Kew f724cc35 2015-04-23T12:45:02 Don't apply Arabic shaping to vertical text.
Behdad Esfahbod 97942420 2015-04-23T18:56:24 Update check-libstdc++ for clang
Behdad Esfahbod 39851ce8 2015-04-21T19:23:27 [coretext] Oops; fix issue number for previous commit
Behdad Esfahbod 24f17afe 2015-04-21T19:21:32 [coretext] Fix positioning with trailing whitespace Fixes https://code.google.com/p/chromium/issues/detail?id=476913
Behdad Esfahbod dba482fc 2015-04-17T13:08:08 [ot-font] Accept MS Symbol cmap if nothing else found
Behdad Esfahbod 3029e8b5 2015-04-14T13:32:22 Revert "Add MSVC pragma for UTF-8 source code" This reverts commit 89cbd4d9533011fb5487caa99a0cd58923e7cf59. See discussion: https://bugzilla.gnome.org/show_bug.cgi?id=747772
Behdad Esfahbod 89cbd4d9 2015-04-13T12:27:08 Add MSVC pragma for UTF-8 source code Not sure we have any right now; motivated by this: https://bugzilla.gnome.org/show_bug.cgi?id=747772
Behdad Esfahbod 713f99ff 2015-04-10T14:34:05 Merge pull request #99 from khaledhosny/introspection-fixes2 More ntrospection fixes
Khaled Hosny 22524a51 2015-04-10T18:14:45 [bindings] Fix hb_buffer_get_segment_properties Annotate the output parameter.
Behdad Esfahbod 1086f21e 2015-04-10T12:21:04 Merge branch 'hb-fc'
Khaled Hosny 04f89e8f 2015-04-10T17:49:01 [bindings] Fix ownership of returned hb_language_t It should not be freed by the caller.
Konstantin Ritt 855a5d7c 2015-04-10T17:18:01 Fix build on WEC2013 Based on patch from Björn Breitmeyer
Behdad Esfahbod eb0bf3ae 2014-08-06T15:36:41 Relax inert checks Previously, when creating an object from inert inputs (eg: "hb_font_create(hb_face_get_empty())") we returned the inert empty object. This is not helpful as there are legitimate usecases to do that. We now never return the inert object unless allocation failed. Tests are revised to reflect.
Behdad Esfahbod 9c974360 2015-04-09T12:04:14 Minor rename
Behdad Esfahbod f3b170bd 2015-04-08T16:26:24 Minor
Behdad Esfahbod 2958f2c1 2015-04-08T16:26:16 Fixup
Behdad Esfahbod b931e0b0 2015-04-08T14:39:00 Fix warnings Part of https://github.com/behdad/harfbuzz/pull/68
Behdad Esfahbod cdcdfe61 2015-04-08T13:25:04 Err, instead of warn, if mutex / atomic / unicode funcs are missing Hopefully this results in fewer badly built HarfBuzz integrations.
Behdad Esfahbod fc3c59a1 2015-04-08T13:03:27 Fix unused var warnings
Konstantin Ritt 3f174cd0 2015-03-28T00:49:33 Minor refactoring to the atomics implementation s/atomic_int/atomic_int_impl/ and s/atomic_ptr/atomic_ptr_impl/ to bring it in par with hb_mutex_impl_t, then re-introduce hb_atomic_int_t as a wrapper around hb_atomic_int_impl_t. In hb_reference_count_t, make it clear the non-atomic get and set are intentional due to nature of the cases they are used in (comparison to -1 and the debug output/tracing).
Behdad Esfahbod 24930d54 2015-04-08T12:52:06 Minor
Behdad Esfahbod 45a8b46f 2015-04-08T12:49:38 Allow implementing atomic and mutex ops in config Motivated by https://github.com/behdad/harfbuzz/pull/92
Behdad Esfahbod 3fe4e92b 2015-04-08T12:49:23 Minor
Behdad Esfahbod ce01ad7c 2015-04-01T11:05:59 MSVC 2015 supports snprintf and not _snprintf
Behdad Esfahbod 56071886 2015-04-01T11:04:33 Move WinCE define to better place
Behdad Esfahbod aee68508 2015-03-26T14:13:53 Fix VC++ /analyze warnings out\debug\hb-buffer-deserialize-text.rl(47) : warning C6001: Using uninitialized memory 'pos'.
Khaled Hosny a394bb66 2015-03-22T20:29:10 [bindings] Fix *_from_string functions Without the element-type they will be getting garbage, at least with Python.
Behdad Esfahbod 9e401f68 2015-03-20T16:08:38 Fix reverse_range() for empty range Fixes coretext notdef loop consisting of all default_ignorable glyphs https://code.google.com/p/chromium/issues/detail?id=464755
Behdad Esfahbod 98e3ea8e 2015-03-04T12:03:39 Fix hb-uniscribe build
Behdad Esfahbod 8ac345e5 2015-03-02T16:06:55 Fix reverse_range() to only reverse alt array if positions are used In hb-coretext, when we were using scratch buffer for book-keeping, a reverse_range() caused by the notdef-insertion loop could mess up our log_clusters. Ouch!
Behdad Esfahbod 5f541f8f 2015-02-21T16:51:17 Minor refactoring
Behdad Esfahbod ef79bdf7 2015-02-21T16:49:15 Minor
Behdad Esfahbod 68e04afb 2015-02-21T16:30:28 Typo
Behdad Esfahbod 55553699 2015-02-21T16:29:08 Minor
Behdad Esfahbod 5175300f 2015-02-21T12:50:01 [layout] Fix comparison of GlyphID and hb_codepoint_t Before, the IntType::cmp functions providing this and was truncating the hb_codepoint_t to 16bits before comparison. I have no idea how this was never discovered, and I'm too lazy to try to reproduce this with Pango (which uses non-16bit codepoint numbers for missing glyphs).
Behdad Esfahbod 7cce809c 2015-02-21T12:41:08 Remove unused (and wrong as of a few commits ago) cmp() function
Behdad Esfahbod 8e3d4bae 2015-02-21T12:31:59 Minor
Behdad Esfahbod f47cf1f1 2015-02-21T11:45:22 Minor
Behdad Esfahbod 640b66c6 2015-02-19T17:30:05 [layout] If lookup has only one subtable, move the forward loop down to subtable I was hoping to see a nice speedup, but it resulted in a very minor one.
Behdad Esfahbod e2f50f2a 2015-02-19T17:15:05 [layout] Add apply_forward / apply_backward
Behdad Esfahbod 1d4a3284 2015-02-19T11:33:30 [layout] Remove unneeded return value from apply()
Behdad Esfahbod bbdd6fd2 2015-02-19T17:03:02 Minor simpilfy BEInt
Behdad Esfahbod 88a399ac 2015-02-19T16:57:12 Optimize IntType comparison to avoid branches for 16bit numbers
Behdad Esfahbod 37de2d53 2015-02-19T16:55:51 Minor simplify IntType
Behdad Esfahbod bd047d3b 2015-02-19T10:47:18 [layout] Minor
Behdad Esfahbod b9d3f605 2015-02-19T10:42:41 [layout] Minor
Behdad Esfahbod 1a232213 2015-02-19T10:40:23 [layout] Don't check glyph props against lookup flags when recursing Shouldn't be needed. I have a hard time imagining this breaking any legitimate use case.
Behdad Esfahbod 095a1257 2015-02-19T10:29:41 [layout] Port sanitize() to use dispatch() Needed some rework of Extension table. Hopefully I got it right, and the new template usage doesn't break any compilers...
Behdad Esfahbod 758fb206 2015-02-18T13:45:03 Remove unused macro
Behdad Esfahbod 40c58923 2015-02-18T13:18:46 [layout] Refactor Lookup::dispatch()
Behdad Esfahbod 70366f5d 2015-02-18T13:09:54 [layout] Refactor get_subtable()
Behdad Esfahbod f72f326a 2015-02-17T19:18:07 Minor
Behdad Esfahbod 8e36ccfd 2015-02-17T19:15:34 [layout] Use dispatch() for add_coverage()
Behdad Esfahbod 50b8dc79 2015-02-17T18:14:17 [layout] Add may_dispatch() No functional change right now.
Behdad Esfahbod de2118ed 2015-02-17T17:27:44 Make sanitize() a const method This makes a lot of code safer. We only try modifying the object in one place, after making sure it's safe to do so. So, do a const_cast<> in that one place...
Behdad Esfahbod 6759ed95 2015-02-17T16:05:30 Minor
Behdad Esfahbod 6b599dac 2015-02-17T16:04:07 Remove unnecessary check in sanitize
Behdad Esfahbod 365576d2 2015-01-29T13:59:42 [layout] Allocate iters in the context Can be further optimized, but I think I didn't break anything. Saves another 3% off Roboto shaping.
Behdad Esfahbod 514564f5 2015-01-29T13:48:48 [layout] Move skippy_iter setup from constructor into init()
Behdad Esfahbod b051be54 2015-01-29T13:40:39 [lookup] Add skippy_iter.reset() Towards reducing the cost of initializing skippy_iter()
Behdad Esfahbod 2cecc38c 2015-01-29T13:32:05 [layout] Shuffle code around
Behdad Esfahbod 69626698 2015-01-29T13:08:41 [layout] Merge forward and backward iterators
Behdad Esfahbod 1f038eec 2015-01-29T13:05:25 [layout] Fix backward reject() Has no functional effect since reject was never used with match_glyph_data.
Behdad Esfahbod 37d13acd 2015-01-29T11:38:01 [layout] Remove some unnecessary checks in skippy
Behdad Esfahbod baa14e18 2015-01-29T11:08:43 [lookup] Don't initialize skippy if coverage match fails Currently: - Initializing skippy is very expensive, - Our lookup accelerator (using set-digests) can be very ineffecite, As such, we end up many times initializing skippy but then failing coverage check. Reordering fixes that. When, later, we fix our accelerator to have truly small false-positive rate (for example by using the frozen-sets), then we might want to reorder these checks such that we wouldn't calculate coverage number if skippy is going to fail. This shows a 5% speedup with Roboto already.
Behdad Esfahbod 7788993b 2015-01-28T23:01:12 [layout] Use setter method to set c->lookup_props
Behdad Esfahbod f4ee48fd 2015-01-28T22:53:54 [layout] Remove unused wrapper method
Behdad Esfahbod 7b7129c7 2015-01-28T21:46:07 Add hb_frozen_set_t I experimented with replacing use of hb_set_digest_t with this new hb_frozen_set_t, hoping to get a huge speedup for busy lookups (like kern lookup in Roboto), but I only got 6% speendup in Roboto and 4% in NotoNastaliqUrduDraft :(.
Behdad Esfahbod 241eac95 2015-01-28T20:55:42 Hide internals of lookup accelerators
Konstantin Ritt 9768e651 2015-02-14T00:58:51 Fix build with MSVC on CE This code is C++ only. There isn't a single C++ compiler that fails to understand the "inline" keyword, since it's required by C++98. Any compiler older than C++98 is likely to choke on the template usage further down, so this isn't necessary. Moreover, the C++ standard says you cannot define macros. [lib.macro.names] says "Nor shall such a translation unit define macros for names lexically identical to keywords." -- technically, it's a promise that the Standard Library headers won't do it, the wording means that the entire translation unit won't do it, which implies no source can do it. MSVC complains about it: fatal error C1189: #error : The C++ Standard Library forbids macroizing keywords. Enable warning C4005 to find the forbidden macro. Author: Thiago Macieira <thiago.macieira@intel.com>
Behdad Esfahbod 7888a6b0 2015-01-28T12:40:40 [ft] Handle negative scales with vertical writing
Behdad Esfahbod 982d94ea 2015-01-28T10:51:33 [coretext] Don't generate notdef glyph for default-ignorables As discovered on Chrome Mac: https://code.google.com/p/chromium/issues/detail?id=452326
Behdad Esfahbod 6917a045 2015-01-28T10:43:32 [coretext] Unbreak glyph positioning in presence of notdef runs As discovered on Chrome Mac: https://code.google.com/p/chromium/issues/detail?id=452326 This was originally broken in: commit 5a0eed3b50629be4826e4e9428f2c3255195395d Author: Behdad Esfahbod <behdad@behdad.org> Date: Mon Aug 11 23:47:16 2014 -0400 [coretext] Implement vertical shaping
Behdad Esfahbod 1eff4350 2015-01-27T12:26:04 Minor optimization
Konstantin Ritt 675956ac 2015-01-27T11:23:07 Do not leak hb_language_t on hb_language_item_t destruction
Konstantin Ritt b306f967 2015-01-27T20:08:41 Minor improvement to HB_SHAPER_DATA_DESTROY
Behdad Esfahbod 61820bc4 2015-01-26T14:25:52 [API] Add hb_buffer_add_latin1() This is by no ways to promote non-Unicode encodings. This is an entry point that takes Unicode codepoints that happen to all be the first 256 characters and hence fit in 8bit strings. This is useful eg in Chrome where strings that can fit in 8bit are implemented that way, and this avoids copying into UTF-8 or UTF-16. Perhaps we should rename this to hb_buffer_add_codepoints8(). I'm also curious if anyone would be really interested in hb_buffer_add_codepoints16(). Please discuss!
Behdad Esfahbod 78c6e86c 2015-01-26T14:08:36 Fix hb_buffer_add_codepoints to actually NOT validate
Konstantin Ritt f3537b62 2015-01-25T09:50:51 Move some code around Just to keep Windows specific workarounds in a single place.
Konstantin Ritt afb62d88 2015-01-25T08:16:26 Do not define MemoryBarrier on WinCE There is a _HBMemoryBarrier() wrapper function that emulates MemoryBarrier() behavior when it is not defined.
Konstantin Ritt 7db326a1 2015-01-25T08:13:24 Fix build on WinRT There is no environment (like WinCE) and the basic version of InitializeCriticalSection is unsupported. https://codereview.qt-project.org/#/c/92496/
Behdad Esfahbod a319d077 2015-01-23T12:44:24 [ft] Handle negative x_scale / y_scale
Behdad Esfahbod b0b38bb8 2015-01-21T19:19:33 [coretext] Fix positioning of notdef
Behdad Esfahbod 70622e50 2015-01-21T18:50:57 [coretext] Fix scaling Before we were not accounting for possible differences in x_scale and y_scale, as well as the signs of those. All should be in good shape now.
Behdad Esfahbod 221ba02b 2015-01-21T16:42:09 [coretext] Use vertical advance for notdef in vertical direction