src


Log

Author Commit Date CI Message
Behdad Esfahbod 71632c96 2012-01-22T15:31:44 Fallback to Latin script if the font has no other usable scripts Patch and description from Jonathan Kew: It turns out that some legacy Thai fonts provide OpenType substitution features to implement mark positioning, but (incorrectly) put those features/lookups under the 'latn' script tag instead of using 'thai' (or possibly 'DFLT'). See https://bugzilla.mozilla.org/show_bug.cgi?id=719366 for an example and more detailed description. Although this is really a font bug, I suggest that we could improve the rendering of such fonts by looking for the 'latn' as a fallback if neither the requested script nor "default" is found in hb_ot_layout_table_choose_script. Suggested patch against harfbuzz master is attached. This does _not_ affect the other kind of legacy Thai font, where custom code to support vendor-specific PUA codepoints would be needed. I'm not keen to go down that path; IMO, such fonts should be ruthlessly stamped out in favour of standards-based solutions. :) JK
Behdad Esfahbod 7a4a848d 2012-01-19T15:15:21 Minor
Behdad Esfahbod 3b5c22c3 2012-01-19T14:28:11 Remove src/test.cc Not really useful.
Behdad Esfahbod 889caa52 2012-01-18T22:32:52 [icu] Use U_FAILURE
Behdad Esfahbod 36a4f4a4 2012-01-18T22:16:49 Replace u_strlen() with u_countChar32() The latter is what I meant.
Behdad Esfahbod c521e793 2012-01-18T21:51:05 Fix OOB in replace_glyph() Patch from Kenichi Ishibashi.
Behdad Esfahbod 03408ce7 2012-01-18T21:28:34 Fix more possible buffer overruns I have this function, but can't clean up it to my satisfaction.
Behdad Esfahbod 7d479900 2012-01-18T21:19:32 Refactor the two remaining uses of _hb_ot_layout_skip_mark()
Behdad Esfahbod 506ffeb8 2012-01-18T16:07:53 Further mark skippy fixes from Jonathan Kew We should be in good shape now.
Behdad Esfahbod a4a48fe6 2012-01-17T18:08:41 Fix mark skipping regression Ouch!
Behdad Esfahbod 4ab97311 2012-01-16T22:05:08 Refactor mark skipping
Behdad Esfahbod 370f03e9 2012-01-16T17:03:55 Minor
Behdad Esfahbod 4d3aeb8c 2012-01-16T16:43:26 [GSUB/GPOS] Fix mark skip indexing issues Mozilla bug 701637 and 714067 combined. Patch from Jonathan Kew.
Behdad Esfahbod e8eedf26 2012-01-16T16:39:40 Avoid enum trailing commas Based on patch from Jonathan Kew.
Behdad Esfahbod 299ae0c3 2012-01-14T21:29:45 [icu] Remove glib-ism
Behdad Esfahbod af921354 2011-10-21T09:18:43 Minor
Behdad Esfahbod 89d89646 2011-10-17T11:50:54 Fix intrin.h b0rkage with older MSVC Reported by Jonathan Kew.
Behdad Esfahbod af913c57 2011-10-17T11:39:28 Fix infinite loop in normalization code with variation selectors Reported by Jonathan Kew.
Behdad Esfahbod 55deff75 2011-09-28T16:20:09 Add comments
Behdad Esfahbod 52ebdff4 2011-09-27T12:38:16 Fix GSUB lookuptype 1 subtype 1 delta wrapping
Behdad Esfahbod b95324cd 2011-09-21T16:50:39 Minor
Behdad Esfahbod 0cd33592 2011-09-21T16:49:33 Fix possible leaks
Behdad Esfahbod d606daa4 2011-09-20T14:34:06 Whitespace
Behdad Esfahbod f83f0f48 2011-09-19T18:51:48 [graphite] Add note about graphite shaker brokenness
Behdad Esfahbod 0a965eee 2011-09-19T16:53:47 Minor
Behdad Esfahbod 5c299343 2011-09-19T14:53:26 [uniscribe] Various improvements
Behdad Esfahbod 5ddd9cc4 2011-09-16T16:40:44 Minor
Behdad Esfahbod 947c9a77 2011-09-16T16:33:18 Minor
Behdad Esfahbod d5476a30 2011-09-16T12:30:50 Minor
Behdad Esfahbod 36b10f58 2011-09-15T16:29:51 Minor
Behdad Esfahbod c4611cb6 2011-09-13T13:33:11 Fix test
Behdad Esfahbod bc187e5a 2011-09-08T13:35:17 Refine Indic scripts, following Martin Hosken's recommendation
Behdad Esfahbod 738d096a 2011-09-02T13:31:19 Pass through unknown ISO 639-3 language tags to OpenType engine In hb_ot_tag_from_language(), if first component of an unknown language is three letters long, use it directly as OpenType language tag (after case conversion and padding).
Behdad Esfahbod ea02cbf0 2011-09-02T12:39:20 [graphite] Don't preload glyphs Doesn't seem to be slower.
Behdad Esfahbod 210a06f3 2011-08-26T13:39:49 Minor
Behdad Esfahbod 4a8d2e37 2011-08-26T09:40:54 [graphite2] Chop a few more lines
Behdad Esfahbod 81ec289d 2011-08-26T09:33:06 Minor
Behdad Esfahbod 3380de5a 2011-08-26T09:30:49 [graphite] Use buffer->replace_glyphs()
Behdad Esfahbod 9ebe8c02 2011-08-26T09:29:42 Add buffer->replace_glyphs()
Behdad Esfahbod a5edb103 2011-08-26T09:27:13 Minor
Behdad Esfahbod 290e3ee5 2011-08-26T09:25:04 [graphite] Only pass the first part language tag to graphite Still not sure about: 1) Case. We pass lowercase for now. Would be nice if graphite was uppercase 3letter like OpenType, 2) Padding. IMO, tag padding is always with spaces, but Martin was talking about NUL bytes.
Behdad Esfahbod 4c9fe88d 2011-08-26T09:18:53 [API] Make all _from_string() functions take a len parameter Can be -1 for NUL-terminated string. This is useful for passing parts of a larger string to a function without having to copy or modify the string first. Affected functions: hb_tag_t hb_tag_from_string() hb_direction_from_string() hb_language_from_string() hb_script_from_string()
Behdad Esfahbod a499bdea 2011-08-25T22:46:21 [graphite2] Bail if grface is NULL
Behdad Esfahbod 3007ffa9 2011-08-25T09:08:53 Reorder combining-class to better suit Arabic shadda mark-mark positioning As reported by Khaled on the list: "After the introduction of canonical reordering of combining marks (commit 34c22f8), I'm no longer able to do mark/mark substitution or positioning for mark sequences that involve shadda as a first mark (or most interesting sequences at least). "After some digging, it turned out that shadda have a ccc=33 while most Arabic marks that combine with it have a lower ccc value, which results in the shadda being reordered after the other mark which, unsurprisingly, breaks my contextual substitution and mkmk anchors." See: http://unicode.org/faq/normalization.html#8 http://unicode.org/faq/normalization.html#9
Behdad Esfahbod 74ef81a0 2011-08-24T19:16:13 Fix make distcheck
Behdad Esfahbod 24bcdbcc 2011-08-24T19:13:15 Add hb-ot-hmtx-table.hh Oops!
Behdad Esfahbod a3bd8a0e 2011-08-24T03:22:49 [graphite] Rewrite properly
Behdad Esfahbod 5072934c 2011-08-24T02:24:27 Minor
Behdad Esfahbod 71388b3e 2011-08-24T02:09:04 [uniscribe] Minor
Behdad Esfahbod cd2b9010 2011-08-24T01:47:25 [graphite] Minor
Behdad Esfahbod 834af3b4 2011-08-24T01:45:47 [graphite] Remove hb_graphite2_feature_check() I don't see how this function can be useful.
Behdad Esfahbod 1f49cf32 2011-08-24T01:29:25 Add graphite2 integration from Martin Hosken To be modified, a lot.
Behdad Esfahbod 0e6d36d8 2011-08-24T01:31:29 Minor
Behdad Esfahbod efde8113 2011-08-23T00:04:57 Add a constructor for hb_prealloced_array_t Fixes build with MSVC.
Behdad Esfahbod d75333f1 2011-08-19T19:59:24 Add gobject enum support, but disabled for now need to figure out the naming. The generated code doesn't have the right name.
Behdad Esfahbod 7d235d27 2011-08-17T23:55:29 Flesh out tt funcs a bit
Behdad Esfahbod b9415e76 2011-08-17T19:21:44 [API] Add hb_font_set_funcs_data()
Behdad Esfahbod e6c09cdf 2011-08-17T19:07:59 Remove the pre_allocate argument from hb_buffer_create() For two reasons: 1. User can always call hb_buffer_pre_allocate() themselves, and 2. Now we do a pre_alloc in add_utfX anyway, so the total number of reallocs is limited to a small number (~3) anyway. This just makes the API cleaner.
Behdad Esfahbod 187bdeaa 2011-08-17T19:03:06 Do (nothing for) hmtx sanitize
Behdad Esfahbod d6016e49 2011-08-17T14:47:41 Fix name-table sanitize
Behdad Esfahbod ae9877de 2011-08-17T14:43:45 Add hhea-table support
Behdad Esfahbod 7a750ac3 2011-08-17T14:19:59 Rename table files from eg maxp-private.hh to maxp-table.hh
Behdad Esfahbod 0b7e4d9f 2011-08-15T20:41:59 [ft] FT_Get_Advance() for advance-width callbacks Using graphite2's comparerenderer suggests that this makes hb-ft 15 times faster. No caching layer needed anymore.
Behdad Esfahbod 4e9ff1dd 2011-08-15T16:21:22 Pre-allocate buffers when adding string We do a conservative estimate of the number of characters, but still, this limits the number of buffer reallocs to a small constant.
Behdad Esfahbod 553bc3de 2011-08-15T16:21:06 Minor
Behdad Esfahbod 254142bb 2011-08-15T16:15:44 [ft] FT_Select_Charmap() when we create face
Behdad Esfahbod a4cbd03d 2011-08-15T09:52:05 Apply 'locl' with 'ccmp' in Arabic shaper According to Peter Constable this is indeed what Uniscribe has been doing for years. Mozilla Bug 667166 - wrong shape of letter when it comes at the end of word in the arabic version of Firefox 5.0
Behdad Esfahbod c214cff5 2011-08-14T15:17:16 Start adding gobject-introspection support
Behdad Esfahbod 9527fb20 2011-08-13T19:03:48 Fix missing return
Behdad Esfahbod 77a32876 2011-08-13T17:16:45 Minor
Behdad Esfahbod d6660356 2011-08-10T22:08:36 Add uniscribe font getters
Behdad Esfahbod 01ec13a1 2011-08-10T22:00:35 Implement hb_ft_font_get_face
Behdad Esfahbod 0501573d 2011-08-10T16:25:56 Fix const correctness in the API
Behdad Esfahbod 511a136f 2011-08-09T15:03:00 Move hb-view into util/
Behdad Esfahbod d753ac78 2011-08-09T14:03:12 [uniscribe] Remove zerowidth glyphs from output
Behdad Esfahbod ddd247b0 2011-08-09T11:44:42 Minor
Behdad Esfahbod 1b8196c9 2011-08-09T11:37:46 Add fallback shaper
Behdad Esfahbod 13a601fe 2011-08-09T11:36:54 [FT] Don't make font immutable
Behdad Esfahbod 38b21187 2011-08-09T10:51:24 [API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs() Remove hb_ft_get_font_funcs() as it cannot be used by the user anyway. Add hb_ft_font_set_funcs(). Which will make the font internally use FreeType. That is, no need for the font to have created using the hb-ft API. Just create using hb_face_create()/hb_font_create() and then call this on the font (after having set font scale). This internally creates an FT_Face and attached to the font.
Behdad Esfahbod 255f176f 2011-08-09T08:35:07 Minor
Behdad Esfahbod a9057eb3 2011-08-09T00:47:55 [uniscribe] Unbreak
Behdad Esfahbod 33ccc779 2011-08-09T00:43:24 [API] Make set_user_data() functions take a replace parameter We need this to set data on objects safely without worrying that some other thread unsets it by setting it at the same time.
Behdad Esfahbod 944b2ba1 2011-08-09T00:23:58 [buffer] Make API take signed int length Since we already switched to accepting -1 as 'zero-terminated'.
Behdad Esfahbod de1e1cf9 2011-08-09T00:19:38 [FT] Adapt to new face API
Behdad Esfahbod bf3eef54 2011-08-09T00:13:24 [uniscribe] Cleanup backend
Behdad Esfahbod 3897335c 2011-08-08T23:37:41 [API] Sort out get_blob API hb_face_get_blob() renamed to hb_face_reference_blob(), returns a reference now. hb_face_[sg]et_index() added. hb_face_set_upem() added.
Behdad Esfahbod e715784b 2011-08-08T21:42:02 Rename get_table to reference_table in all API
Behdad Esfahbod 670c8734 2011-08-08T21:36:24 Fix shaper ordering logic
Behdad Esfahbod cc797e0d 2011-08-08T03:49:30 Minor
Behdad Esfahbod 826e2273 2011-08-07T03:53:42 [uniscribe] Fix blob lifecycles
Behdad Esfahbod ff199ba3 2011-08-07T03:43:46 Fix shaper_list manipulation, aaaaaaaaaaaaargh
Behdad Esfahbod 577326b8 2011-08-07T01:04:40 [uniscribe] Fix cluster calculation
Behdad Esfahbod f6d83b2d 2011-08-07T00:59:58 Minor
Behdad Esfahbod 2eb474af 2011-08-07T00:59:38 [uniscribe] Fix shaper It's kinda working finally!
Behdad Esfahbod f22e6611 2011-08-07T00:59:12 [glib] Protect against invalid characters
Behdad Esfahbod 144cd49a 2011-08-07T00:51:50 [buffer] Accept -1 for text_length and item_length A -1 text_length means: zero-terminated string. A -1 item_length means: to the end of string.
Behdad Esfahbod e9c71fab 2011-08-07T00:00:27 Fix name-table lookup Oops!
Behdad Esfahbod 3fd2b5be 2011-08-06T22:59:54 [uniscribe] Use font size directly
Behdad Esfahbod 892eb2e4 2011-08-06T22:06:52 [uniscribe] Make font selection work Not tested yet.
Behdad Esfahbod b492299e 2011-08-05T20:34:50 Start implementing the 'name' table