Commit Graph

1017 Commits

Author SHA1 Message Date
Behdad Esfahbod 4f5f1c34dd Rename const_sub_array to sub_array since all consts are implicit now 2010-04-22 00:27:39 -04:00
Behdad Esfahbod 0795b784dd Cosmetic 2010-04-22 00:23:14 -04:00
Behdad Esfahbod 2d98d3bbaa Simplify Lookup sanitize 2010-04-22 00:19:30 -04:00
Behdad Esfahbod c755cb3e3a Change header comment 2010-04-22 00:11:43 -04:00
Behdad Esfahbod 243d20e011 More cast simplification 2010-04-21 23:57:01 -04:00
Behdad Esfahbod 0dfcc13a46 Rename ConstCharP to CharP (overloaded now) 2010-04-21 23:41:26 -04:00
Behdad Esfahbod 62c0fd7573 Cleanup de-const-casting during sanitize 2010-04-21 23:30:48 -04:00
Behdad Esfahbod dd15587056 Add more comments 2010-04-21 23:13:33 -04:00
Behdad Esfahbod c85c362067 Add comment 2010-04-21 23:12:54 -04:00
Behdad Esfahbod 2467c669c2 Add comment 2010-04-21 23:11:45 -04:00
Behdad Esfahbod 29c3f5e1b6 Improve comment 2010-04-21 23:01:00 -04:00
Behdad Esfahbod 01c01618e9 Further simplify IntType struct defs 2010-04-21 22:49:56 -04:00
Behdad Esfahbod 2cb08458f6 Rename const_array() to array() (overloaded) 2010-04-21 22:37:31 -04:00
Behdad Esfahbod 2e2f43edf2 Remove ArrayAfter, use StructAfter in place 2010-04-21 22:30:36 -04:00
Behdad Esfahbod e961c86c57 Convert NEXT() and ARRAY_AFTER() macros to templates 2010-04-21 15:56:11 -04:00
Behdad Esfahbod 198facdc55 Use templates for const char * casts 2010-04-21 13:35:36 -04:00
Behdad Esfahbod 1922ffe701 Const correctness 2010-04-21 04:52:11 -04:00
Behdad Esfahbod e032ed9f75 Use templates for defining int typess 2010-04-21 04:51:55 -04:00
Behdad Esfahbod 2c9fd2adce Remove unused macro 2010-04-21 02:15:39 -04:00
Behdad Esfahbod 7a52f28117 Rename macros 2010-04-21 02:14:44 -04:00
Behdad Esfahbod ffff7dc44c Minor 2010-04-21 02:13:55 -04:00
Behdad Esfahbod f60f2166c4 Move macros around 2010-04-21 02:12:45 -04:00
Behdad Esfahbod 649a4344ca Remove unused macros 2010-04-21 02:11:59 -04:00
Behdad Esfahbod eba8b4f644 GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords 2010-04-21 02:04:02 -04:00
Behdad Esfahbod 673a4efcbc WIP 2010-04-21 02:02:57 -04:00
Behdad Esfahbod 40d73bc68d Improve comments 2010-04-21 01:55:20 -04:00
Behdad Esfahbod 394bad41a7 Remove stale TODO item 2010-04-21 01:55:17 -04:00
Behdad Esfahbod 9d3677899f Use a function template instead of struct template for Null 2010-04-21 01:55:12 -04:00
Behdad Esfahbod ffd321afd9 Simplify Tag struct 2010-04-21 01:55:09 -04:00
Behdad Esfahbod 00e23fcc6f Cosmetic 2010-04-21 01:55:03 -04:00
Behdad Esfahbod a87072db5d Fix Class operator return type 2010-04-21 01:54:57 -04:00
Behdad Esfahbod f9b3772798 Add couple consts to operators 2010-04-21 01:54:53 -04:00
Behdad Esfahbod 53d237ec63 Remove ASSERT_SIZE_DATA 2010-04-21 01:54:49 -04:00
Behdad Esfahbod 06558d2a74 Round instead of trunc 2010-04-21 01:50:15 -04:00
Behdad Esfahbod 0e206de986 Fix warnings 2010-04-21 01:48:41 -04:00
Behdad Esfahbod d5943407a4 Fix debug build 2010-04-21 01:42:11 -04:00
Behdad Esfahbod 12b27ed91d Fix leak when duplicating blob 2010-04-21 01:41:53 -04:00
Behdad Esfahbod 4b8487d83e Fix the mystery bug!
A couple bugs joined forces to exhibit the mystery behavior of
crashes / infinite loops on OS X / wrong kerning / invalid memory
access.  Pooh!

The bugs were involved:

  - Wrong pointer math with ValueRecord in PairPosFormat1

  - Fallout from avoiding flex arrays, code not correctly updated
    to remove sizeof() usage.

We strictly never use sizeof() directly now.  And the PairPos code
is cleaned up.  Should fix them all.  Bugs are:

  Bug 605655 - Pango 1.26.2 introduces kerning bug
  Bug 611229 - Pango reads from uninitialized memory
  Bug 593240 - (pangoosx) Crash / infinite loop with Mac OS X

We were also doing wrong math converting Device adjustments to
hb_position_t.  Fallout from FreeType days.  Should shift 16, not
6.  Fixed that too.

There's still another bug: we don't sanitize Device records
referenced from value records.  Fixing that also.
2010-04-21 01:41:29 -04:00
Behdad Esfahbod 9b39755d10 Typo 2010-04-15 14:00:25 -04:00
Behdad Esfahbod f85ec1c7da Cosmetic 2010-03-10 04:14:40 -05:00
Behdad Esfahbod e48ed72230 [ft] Check stream->read instead of stream->base
The former is more robust.  See discussion on freetype-devel.
2010-03-01 22:33:45 -05:00
Behdad Esfahbod 917c227500 Make blob unlocking 64bit-safe
GNOME Bug 604128 - Applications crash when displaying Hebrew characters
2010-02-23 16:47:51 -05:00
Behdad Esfahbod ecd2e996d2 Improve the alignment for NullPool 2010-02-23 02:42:00 -05:00
Behdad Esfahbod bc7830e425 Use __attribute__((unused)) only with gcc 4 and later
See discussion at:
https://bugzilla.gnome.org/show_bug.cgi?id=610183
2010-02-17 15:14:57 -05:00
Behdad Esfahbod 555d11273e [GDEF] Fix bug in building synthetic GDEF 2010-01-26 12:58:59 -05:00
Behdad Esfahbod cd11a98fa1 Fix compile with older FreeType 2009-12-20 23:05:02 +01:00
Behdad Esfahbod 7f7448a354 Indent 2009-12-20 21:42:14 +01:00
Behdad Esfahbod e70f45eb52 Revert "Fallback to 'kern' if no GPOS applied"
This reverts commit d740c8f78b.

The change is wrong.  If there is a GPOS table, we should not use 'kern'.
2009-12-20 21:26:24 +01:00
Behdad Esfahbod d740c8f78b Fallback to 'kern' if no GPOS applied 2009-12-20 21:23:56 +01:00
Behdad Esfahbod 2f78c17197 Remove glibism! 2009-12-20 21:03:11 +01:00
Behdad Esfahbod 907e67da13 Oops, add file. 2009-12-20 20:59:51 +01:00
Behdad Esfahbod 2014b8d110 Hook OpenType shaping up
Default features only for now.
2009-12-20 20:58:26 +01:00
Behdad Esfahbod 196610ba4c Pass features down 2009-12-20 19:02:23 +01:00
Behdad Esfahbod 51f141a7f3 Avoid overflow 2009-12-20 18:22:52 +01:00
Behdad Esfahbod 26d7a75752 Refactor hb_shape a bit 2009-12-20 17:58:25 +01:00
Behdad Esfahbod 001fc2d2aa Add TrueType kern support 2009-12-20 17:24:05 +01:00
Behdad Esfahbod 2c1b85cf66 Direct unicode->get_mirroring directly 2009-12-20 16:29:17 +01:00
Behdad Esfahbod 6a2ef5aa54 Do mirroring 2009-12-20 16:28:01 +01:00
Behdad Esfahbod 0465e69832 Protect against NULL funcs 2009-12-20 16:25:18 +01:00
Behdad Esfahbod 5ceefa1d8d Add hb_unicode_get_*() functions 2009-12-20 15:29:16 +01:00
Behdad Esfahbod b8a53e44ce We'll have to link to libstdc++ if linking to ICU, so disable test for now
We have to get rid of the ICU in main lib.  Still thinking about best way
to do it.
2009-12-20 14:56:25 +01:00
Behdad Esfahbod 314905d754 Explicitly track whether the buffer has positions 2009-12-20 14:50:42 +01:00
Behdad Esfahbod 314b460d8a Add HB_DIRECTION_IS_FORWARD/BACKWARD 2009-12-20 13:58:50 +01:00
Behdad Esfahbod bdd0ff5290 Make main.cc compile without glib 2009-12-15 04:07:40 -05:00
Behdad Esfahbod 807b8aa486 Another C++ strictness fix
Pango Bug 602408 - Invalid C++ code breaks compile with Sun C++ Compiler
(Error: A union member cannot have a user-defined assignment operator)

According to the bug:

C++ Programming Language by Bjarne Stroustrup: Chapter 10.4.12 forbids
explicitly using of union members with constructors, destructors or assignment
operations.

So we use a set() method instead of the assignment operator.  Ugly, but hey,
that's life.
2009-11-19 20:35:01 -05:00
Behdad Esfahbod 8b9b866d3e Fix warning 2009-11-19 20:27:57 -05:00
Behdad Esfahbod c65b26acf2 Use autoconf FLEXIBLE_ARRAY_MEMBER when available 2009-11-18 11:27:33 -05:00
Behdad Esfahbod d33f674cb7 Add Mongolian variation selectors 2009-11-18 09:47:44 -05:00
Behdad Esfahbod d6387757de Fix sanitize 2009-11-11 17:15:03 -05:00
Behdad Esfahbod 636f017e38 Remove obsolete TODO item 2009-11-10 12:56:35 -05:00
Behdad Esfahbod bf2b25dd85 Remove done item 2009-11-06 19:52:47 -05:00
Behdad Esfahbod 4a86053159 Reverse buffer at the end if RTL 2009-11-06 19:52:01 -05:00
Behdad Esfahbod ff44f88df2 Handle shaping in non-native direction 2009-11-06 19:48:16 -05:00
Behdad Esfahbod b4b4272c8d Oops, wrong change 2009-11-06 17:46:33 -05:00
Behdad Esfahbod 52ea47767c Change order of font and face for API consistency 2009-11-06 17:45:38 -05:00
Behdad Esfahbod f4f1fc970b Remove debug info that crept in 2009-11-06 17:42:38 -05:00
Behdad Esfahbod aa196d6026 [GSUB] More ligature/component fixing
We can only reuse the ligid if it belongs to a previous ligature, not a
component!
2009-11-06 17:23:31 -05:00
Behdad Esfahbod 25e7ef7046 Add _hb_buffer_add_output_glyphs() that takes codepoint_t* 2009-11-06 17:21:01 -05:00
Behdad Esfahbod 9db8ad7531 Add hb_ot_layout_position_finish()
We expect buffer to be setup with default positions before GPOS.
2009-11-06 16:47:31 -05:00
Behdad Esfahbod edb54e9aec Fix FT_Face finalizer call 2009-11-06 15:19:22 -05:00
Behdad Esfahbod 3d14528b8b Rename hb_buffer_get_len() to hb_buffer_get_length() 2009-11-06 15:13:17 -05:00
Behdad Esfahbod 1ff7775051 Minor. 2009-11-06 13:52:57 -05:00
Behdad Esfahbod 3648bdf5b2 Fix FT_Face generic finalizer 2009-11-05 20:17:53 -05:00
Behdad Esfahbod 5a11c875d8 Cosmetic 2009-11-05 20:08:17 -05:00
Behdad Esfahbod 44533e773f Fix warning 2009-11-05 19:58:02 -05:00
Behdad Esfahbod bcc0406a52 include errno.h 2009-11-05 19:54:23 -05:00
Behdad Esfahbod 799b3c375a Add debugging to object lifecycle 2009-11-05 19:37:58 -05:00
Behdad Esfahbod 25edb940ab Cosmetic 2009-11-05 19:20:06 -05:00
Behdad Esfahbod 850dc5bb55 Return 0 from get_glyph_nil 2009-11-05 18:26:52 -05:00
Behdad Esfahbod 85555a9533 Initialize font->klass 2009-11-05 18:25:56 -05:00
Behdad Esfahbod bcd26bd7b1 Add TODO item 2009-11-05 18:03:26 -05:00
Behdad Esfahbod f4281e0a92 Fix ref counting 2009-11-05 17:58:41 -05:00
Behdad Esfahbod 6358ff45ae Add hb_ft_face_create_cached 2009-11-05 17:39:16 -05:00
Behdad Esfahbod 2027f74b28 Add default positioning to hb-shape 2009-11-05 16:34:47 -05:00
Behdad Esfahbod c3f9f7e59d Fix MarkMark issue with ligid and components 2009-11-05 16:16:14 -05:00
Behdad Esfahbod d0351314cd Include stdio.h if debugging 2009-11-05 16:16:06 -05:00
Behdad Esfahbod 2e33669291 Add hb_font_get_* 2009-11-05 13:55:41 -05:00
Behdad Esfahbod 9bef3611f0 Rename [xy]_pos to [xy]_offset since we don't accumulate positions 2009-11-05 12:20:11 -05:00
Behdad Esfahbod 2daa47e9cd Cosmetic 2009-11-05 12:08:34 -05:00
Behdad Esfahbod 2f50d87368 Start filling hb_shape() in 2009-11-04 21:07:03 -05:00
Behdad Esfahbod ae070b7d39 Add script and language to buffer 2009-11-04 20:29:54 -05:00
Behdad Esfahbod 8a3511ac6c Add hb_language_t as well as language/script conversion to OT tags 2009-11-04 19:45:39 -05:00
Behdad Esfahbod 4591753ad4 Define ARRAY_LENGTH 2009-11-04 18:15:59 -05:00
Behdad Esfahbod 214ac7c1ff Another one 2009-11-04 18:12:32 -05:00
Behdad Esfahbod 1e91434569 Minor 2009-11-04 18:12:09 -05:00
Behdad Esfahbod 48de3730cd Fix previous commit, ouch! 2009-11-04 16:59:50 -05:00
Behdad Esfahbod e21899bc35 Fix array query API
The array query APIs now all do:

  - Return the total number of items
  - Take a start_offset, such that individual items can be fetched
  - The _count IN/OUT variable always has number of items written
    into the array upon return of the function
2009-11-04 16:36:14 -05:00
Behdad Esfahbod 3b59306b85 Finish FT glue. Rough and untested 2009-11-04 15:48:32 -05:00
Behdad Esfahbod 7951279b4a Implement nil font functions 2009-11-03 20:27:05 -05:00
Behdad Esfahbod 8fb3d1aa4e Start ft glue 2009-11-03 18:34:20 -05:00
Behdad Esfahbod d94647e2cd Add ICU glue 2009-11-03 16:35:10 -05:00
Behdad Esfahbod b7dd4b945b Fix hb_be_uint16() 2009-11-03 15:21:15 -05:00
Behdad Esfahbod cd7555eef2 Namespace MSVC defines in public header 2009-11-03 15:16:10 -05:00
Behdad Esfahbod 5ebabecef3 Move unicode_funcs to buffer 2009-11-03 15:15:07 -05:00
Behdad Esfahbod d5a8e46099 [Makefile] Install hb-unicode.h
Separate OT headers also.
2009-11-03 15:14:40 -05:00
Behdad Esfahbod 21d0fce3d5 Add check for not linking to libstdc++ 2009-11-03 14:28:32 -05:00
Behdad Esfahbod ca95ce460a Use the C linker, not C++ linker
Such that we don't link to libstdc++.
2009-11-03 14:18:33 -05:00
Behdad Esfahbod ffbe0a853d More MSVC fixes from Jonathan Kew 2009-11-03 10:52:45 -05:00
Behdad Esfahbod d3480ba37f Don't use zero-sized arrays
It's not part of the standard and MSVC doesn't like it.  It makes the code
a lot less elegant than it used to be, but I think it should work now.
2009-11-03 10:47:29 -05:00
Behdad Esfahbod 6bec81aa3a Cosmetic 2009-11-02 19:17:36 -05:00
Behdad Esfahbod 2f3e69f3cb Fix build without glib, again 2009-11-02 18:53:15 -05:00
Behdad Esfahbod 63a792a811 Update Makefile to build without glib 2009-11-02 18:34:26 -05:00
Behdad Esfahbod 68a2c771e2 Build without glib
Thready-safety disabled in that case, until we add support for pthread, etc.
Fun...
2009-11-02 18:31:53 -05:00
Behdad Esfahbod cc4c096a7e MSVC has no stdint.h 2009-11-02 18:14:48 -05:00
Behdad Esfahbod 9a204c7ab5 Remove use of GINT16_FROM_BE 2009-11-02 18:11:55 -05:00
Behdad Esfahbod 1f0ceeb8cf Install library 2009-11-02 16:51:24 -05:00
Behdad Esfahbod 29aa400183 Add build system 2009-11-02 16:34:59 -05:00
Behdad Esfahbod c09ed9801e [HB] Add glyph_metrics typedef 2009-11-02 14:40:48 -05:00
Behdad Esfahbod 91b1e03e03 [HB] Add point_index to get_contour_point()
Pointed out by Keith Stribley on HarfBuzz list.
2009-11-02 14:40:48 -05:00
Behdad Esfahbod aa87d95173 [HB] Fix lookup_flag ignoring
Reported by Keith Stribley on HarfBuzz list.
2009-11-02 14:40:48 -05:00
Behdad Esfahbod 52e9a71d57 [HB] Add comment 2009-11-02 14:40:48 -05:00
Behdad Esfahbod f9c0a2dad0 [HB] Fix apply_lookup() loop
Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
2009-11-02 14:40:48 -05:00
Behdad Esfahbod c0ab43c058 [HB] Fix bug in chain_context_lookup() invocations
Part of Bug 595539 - Regressions in rendering certain Thai sequences with
OpenType font
2009-11-02 14:40:48 -05:00
Behdad Esfahbod e6bd4e93bd [HB] Add TODO item 2009-11-02 14:40:48 -05:00
Behdad Esfahbod 3e2401f6c5 [HB] Rename DEBUG to TRACE where appropriate 2009-11-02 14:40:48 -05:00
Behdad Esfahbod 0535b50f43 [HB] Add GSUB/GPOS tracing 2009-11-02 14:40:48 -05:00
Behdad Esfahbod 95e202403f [HB] Allow enabling different debug facilities individually 2009-11-02 14:40:48 -05:00
Behdad Esfahbod 37006bd1bd Fix stupid array growing bug 2009-11-02 14:40:47 -05:00
Behdad Esfahbod 9897749113 [HB] Simplify counting 2009-11-02 14:40:47 -05:00
Behdad Esfahbod 81a5c4df94 [HB] Indent 2009-11-02 14:40:47 -05:00
Behdad Esfahbod c91facd83b [HB] Bug 593231 - < c99 compiler dislikes ValueRecord 2009-11-02 14:40:47 -05:00
Behdad Esfahbod f0c7540c4e Bug 592484 - invalid write in HB
Fix off-by-one.
2009-11-02 14:40:47 -05:00
Behdad Esfahbod b614b00472 [HB][glib] Make glib unicode funcs static 2009-11-02 14:40:47 -05:00
Behdad Esfahbod 8b53461304 [HB] Fix more casts 2009-11-02 14:40:47 -05:00
Behdad Esfahbod 9d2e02db74 [HB] Rename CAIRO_ in macro prefix to HB_
Hiss!
2009-11-02 14:40:46 -05:00
Behdad Esfahbod 388ad037ff [HB] Remove HB_MEMORY_MODE_READONLY_NEVER_DUPLICATE
Unlike the rest of the memory-mode enum, this one didn't only
describe the access mode of the input memory region.  Remove it.

If someone wants to inhibit duplicating, they can lock the blob
and throw away the key.

Based on mailing list discussion with Carl Worth.
2009-11-02 14:40:46 -05:00
Behdad Esfahbod 977eeb7144 [HB] s/writeable/writable/g 2009-11-02 14:40:46 -05:00
Behdad Esfahbod 2f5931e404 [HB] Hide lig_id and component members of hb_glyph_info_t 2009-11-02 14:40:46 -05:00
Behdad Esfahbod 6b600dd619 [HB] Fix typo 2009-11-02 14:40:45 -05:00
Behdad Esfahbod 32c65a5ca3 [HB] Add font funcs prototypes 2009-11-02 14:40:45 -05:00
Behdad Esfahbod 8f034d5849 Fix a few other pedantic warnings 2009-11-02 14:40:45 -05:00
Behdad Esfahbod 864e2560b6 [HB] Fix pedantic warnings 2009-11-02 14:40:45 -05:00
Behdad Esfahbod 3e09722214 [HB] Fix more wrong method signatures 2009-11-02 14:40:44 -05:00
Behdad Esfahbod 822e99fe9a [HB] Fix wrong method signature 2009-11-02 14:40:44 -05:00
Behdad Esfahbod 4ff2a58952 Bug 592194 - Fix missing _SC_PAGE_SIZE macro
Autoconfiscate a simple call to mprotect() even more.
2009-11-02 14:40:44 -05:00
Behdad Esfahbod 3c69bd46e2 [HB] Avoid int overflow in GPOS
Bug 592036 - integer overflow bug causes misrendering of Nepali characters
2009-11-02 14:40:44 -05:00
Behdad Esfahbod b2b18ef43c [HB] Simplify loop 2009-11-02 14:40:44 -05:00
Behdad Esfahbod b41f210d12 [HB] Merge mark positionin code between three types of lookups 2009-11-02 14:40:44 -05:00
Behdad Esfahbod cd33cb9ed8 [HB] More minor shuffling 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 80e2aa2e1b [HB] Move code around 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 3564ee5216 [HB] Correctly sanitize LigatureAttach 2009-11-02 14:40:43 -05:00
Behdad Esfahbod cb71a2fb76 [HB] Simplify MarkBase and MarkLig too 2009-11-02 14:40:43 -05:00
Behdad Esfahbod dfa54f4440 [HB] Simplify MarkMark 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 815a73e420 [HB] Fix possible int overflows during sanitize 2009-11-02 14:40:43 -05:00
Behdad Esfahbod ae728e51e9 [HB] Debug output for SANITIZE_MEM() 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 41895506cb [HB] Use inline function for SANITIZE_MEM() 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 95528131b5 [HB] Use SANITIZE_THIS() when applicable 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 5769538abf [HB] Add note about auditing sanitize code for overflows 2009-11-02 14:40:43 -05:00
Behdad Esfahbod 15232e26f4 [HB] Add empty hb_shape() API 2009-11-02 14:40:42 -05:00
Behdad Esfahbod 2866d2974b [HB] Bitfield packing *is* very delicate
Fix the second instance.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod ec90ee23b2 Bug 591511 – hh-blob.c does not compile using mingw on windows
Check for sys/mman.h, not mprotect().
2009-11-02 14:40:42 -05:00
Behdad Esfahbod 12eae6d55d [HB] Fix buffer sizing issue with mingw gcc
Bit field packing is a delicate field.  Issue reported in comment 3 here:
http://bugzilla.gnome.org/show_bug.cgi?id=591511
2009-11-02 14:40:42 -05:00
Behdad Esfahbod 6936706cd7 Bug 591413 – needs to link with libstdc++
Enforce -fno-exceptions better.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod c486ea9c35 Bug 591511 – hb-blob.c does not compile using mingw on windows
Only call mprotect() when available.  For optimal performance, a win32
way to make memory writeable needs to be added.
2009-11-02 14:40:42 -05:00
Behdad Esfahbod a579584594 [HB] Add comment 2009-11-02 14:40:42 -05:00
Behdad Esfahbod b6e66ee102 [HB] Always clear positions if dirty, before returning to user 2009-11-02 14:40:41 -05:00
Behdad Esfahbod e4679d9fae [HB] Fix _hb_buffer_next() when positioning
We were copying glyphs to output.  This should not happen when in
GPOS.  Back then it was fine, then some optimizations broke then
assumption.
2009-11-02 14:40:41 -05:00
Behdad Esfahbod 5ccf1ba339 [HB] Fixed signedness warnings 2009-11-02 14:40:41 -05:00
Behdad Esfahbod f71329147b [HB] Ouch. Fix compilation. 2009-11-02 14:40:40 -05:00
Behdad Esfahbod 0532ed160c [HB] Fix invalid access / overflow on x86-64
Bug 591557 – [HB] crash scrolling the evolution message list
Bug 591576 – crashed with SIGSEGV at pango
2009-11-02 14:40:40 -05:00
Behdad Esfahbod 8d70312c7b [HB] Add hb_font_funcs_make_immutable() 2009-11-02 14:40:40 -05:00
Behdad Esfahbod 3284d05da2 [HB] Add missing initializer 2009-11-02 14:40:40 -05:00
Behdad Esfahbod 081819ea8b [OT] Hookup glib unicode funcs 2009-11-02 14:40:39 -05:00
Behdad Esfahbod 49f261df2a [HB] Add hb-glib 2009-11-02 14:40:39 -05:00
Behdad Esfahbod eb27ec0cef [HB] Add hb_unicode_funcs_make_immutable() 2009-11-02 14:40:39 -05:00
Behdad Esfahbod af9e104028 [HB] Use nil unicode funcs in nil face 2009-11-02 14:40:38 -05:00
Behdad Esfahbod 48910f8f00 [HB] Initialize unicode funcs to nil getters 2009-11-02 14:40:38 -05:00
Behdad Esfahbod 04cc0a29ee [HB] Flesh out Unicode funcs 2009-11-02 14:40:38 -05:00
Behdad Esfahbod 299f08961f [HB] Implement buffer UTF-X input 2009-11-02 14:40:37 -05:00
Behdad Esfahbod 1b7b97f28a [HB] Add buffer UTF-X API 2009-11-02 14:40:37 -05:00
Behdad Esfahbod fbaf8ffa09 [HB] Add hb_buffer_reverse() 2009-11-02 14:40:37 -05:00
Behdad Esfahbod cbe5a4e08e [HB] Reuse the positions array as alt string array 2009-11-02 14:40:37 -05:00
Behdad Esfahbod 5c44188455 [HB] Start adding Unicode funcs 2009-11-02 14:40:36 -05:00
Behdad Esfahbod 20b035dad4 [HB] Put C++ inline's back
Apparetly in C++, inline means a totally different thing.
2009-11-02 14:40:36 -05:00
Behdad Esfahbod a62f776d8e [HB] Don't override CXX compiler
Just add couple of options to it (still assuming gcc)
2009-11-02 14:40:36 -05:00
Behdad Esfahbod 6bdab706ec [HB] Indent 2009-11-02 14:40:36 -05:00
Behdad Esfahbod 797724904a [HB] Remove unused code 2009-11-02 14:40:36 -05:00
Behdad Esfahbod 284899ccbe [HB] Add a NEXT() macro 2009-11-02 14:40:35 -05:00
Behdad Esfahbod 918572fc87 [HB] Remove done TODO item 2009-11-02 14:40:35 -05:00
Behdad Esfahbod 67cb8111f2 [HB] Print mark sets in main.cc 2009-11-02 14:40:35 -05:00
Behdad Esfahbod 17878255fa [HB] Remove hb_ot_layout_table_find_feature()
That function doesn't make much sense as multiple features in the table may
have the same tag.
2009-11-02 14:40:35 -05:00
Behdad Esfahbod 468769b8f5 [HB] Rename hb_ot_layout_feature_mask_t to hb_mask_t 2009-11-02 14:40:34 -05:00
Behdad Esfahbod 7f96b39a9d [HB] Fix bug introduced recently 2009-11-02 14:40:34 -05:00
Behdad Esfahbod bff3c0fde5 [HB] Remove clumsy macros and improve API 2009-11-02 14:40:34 -05:00
Behdad Esfahbod d0b657379b [HB] Fix various XXX issues 2009-11-02 14:40:34 -05:00
Behdad Esfahbod 82199868fb [HB] Remove unused var 2009-11-02 14:40:34 -05:00
Behdad Esfahbod 07e69226cb [HB] Remove another stale XXX 2009-11-02 14:40:33 -05:00
Behdad Esfahbod e605c367c5 [HB] Rebrand XXX as TODO 2009-11-02 14:40:33 -05:00
Behdad Esfahbod c5a13048e2 [HB] Remove stale XXX 2009-11-02 14:40:33 -05:00
Behdad Esfahbod 9e826ea283 [HB] Fix unaligned access 2009-11-02 14:40:33 -05:00
Behdad Esfahbod 71a8344a5e [HB] Remove a few 'inline's, though the compiler mostly ignores them 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 7f3d5c8166 [HB] Fix blob to use a actual mutex 2009-11-02 14:40:32 -05:00
Behdad Esfahbod a794ebf4be [HB] Use glib again 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 9b76a290a9 [HB] Improve debug output 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 9faee63034 [HB] Minor 2009-11-02 14:40:32 -05:00
Behdad Esfahbod f72059ee69 [HB] Add a few TODO items 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 0d77ab8a73 [HB] Improve debug output 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 268cac4c9e [HB] Fix blob unlock 2009-11-02 14:40:32 -05:00
Behdad Esfahbod 7acb389569 [HB] Improve debug output and fix mprotect bug 2009-11-02 14:40:31 -05:00
Behdad Esfahbod ec9f8db0d3 [HB] Minor 2009-11-02 14:40:31 -05:00
Behdad Esfahbod d341881d9a [HB] Fix build of main.cc 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 8f3be25e7e [HB] turn debugging off 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 62ed5850d9 [HB] Fix another sanitize() bug; hopefully it's the last one 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 90482b6817 [HB] Fix a couple other sanitize() bugs 2009-11-02 14:40:31 -05:00
Behdad Esfahbod 4f3ad9115a [HB] More debugging output 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 8cd6fa28d1 [HB] Fix fatal Sanitizer bug 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 2870ac5e5d [HB] Add missing sanitize 2009-11-02 14:40:30 -05:00
Behdad Esfahbod b28815c1f6 [HB] Add sanitize debugging facilities 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 7edb430f91 [HB] Rename open-types to open-type; beauty 2009-11-02 14:40:30 -05:00
Behdad Esfahbod f4b58d3fc2 [HB] Save edit even if not writeable 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 9bd629ccd0 [HB] Fix warnings 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 5ff4e13143 [HB] Avoid infinite recusion in Extension sanitize() 2009-11-02 14:40:30 -05:00
Behdad Esfahbod d60bb8ca2a [HB] Hook Sanitizer up. Hell's breaking loose right now 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 679f41fe61 [HB] Fix leak 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 4e8a0602bb [HB] Add Sanitizer 2009-11-02 14:40:30 -05:00
Behdad Esfahbod 2765d333e5 [HB] Add XXX 2009-11-02 14:40:30 -05:00
Behdad Esfahbod a328d66e6a [HB] Minor cleanup 2009-11-02 14:40:29 -05:00
Behdad Esfahbod 577c111649 [HB] Shuffle code around 2009-11-02 14:40:29 -05:00
Behdad Esfahbod b1e187fc63 [HB] More sanitize infrastructure 2009-11-02 14:40:29 -05:00
Behdad Esfahbod b508e5ccd5 [HB] open-file sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod 738c54d9ca [HB] Tag sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod e49a84c9e3 [HB] GDEF sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod 18939487d0 [HB] Fix Extension sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod f2be750981 [HB] Remove stale TODO 2009-11-02 14:40:29 -05:00
Behdad Esfahbod ac26e2a838 [HB] Hookup NEUTER() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod 15164d9258 [HB] Fix mix warnings 2009-11-02 14:40:29 -05:00
Behdad Esfahbod 42b778f89e [HB] GPOS sanitize() 2009-11-02 14:40:29 -05:00
Behdad Esfahbod dc9c4d93cd [HB] Sanitize DeviceTable 2009-11-02 14:40:28 -05:00
Behdad Esfahbod ad3a3cd495 [HB] More casts 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 95639fccc1 [HB] Fix couple of bugs 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 2b5a59c277 [HB] More cast cleanup 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 196598bbcc [Hb] Use reinterpret casts instead of direct casts to char * 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 92b5dd8e71 [HB] Merge more templates 2009-11-02 14:40:28 -05:00
Behdad Esfahbod e6ab2c59ba [HB] Simplify indirect sanitize() 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 29d8644a31 [HB] Finish GSUB sanitize() 2009-11-02 14:40:28 -05:00
Behdad Esfahbod cf086adca1 [HB] Add comment 2009-11-02 14:40:28 -05:00
Behdad Esfahbod a97ce570ab [HB] Optimize sanitize() 2009-11-02 14:40:28 -05:00
Behdad Esfahbod cd3827ee56 [HB] More sanitize() 2009-11-02 14:40:28 -05:00
Behdad Esfahbod 70de50c11e [HB] Start sanitize() 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 5fc22e647c [HB] Remove use of typeof() 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 70e0f2a75e [HB] Make it all work again 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 23c86aa000 [HB] Use face_t directly instead of ot_layout_t 2009-11-02 14:40:27 -05:00
Behdad Esfahbod fc6c94002d [HB] Simplify sub-blob support 2009-11-02 14:40:27 -05:00
Behdad Esfahbod a26442437a [HB] Add sub-blobs 2009-11-02 14:40:27 -05:00
Behdad Esfahbod b28e21b90c [HB] Rename hb-font.c to hb-font.cc 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 5f5b24f99f [OT] Rename C++ header files from *.h to *.hh 2009-11-02 14:40:27 -05:00
Behdad Esfahbod 2098a021a8 [HB] Move OT file handling out of ot-layout 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 0ead481a5a [HB] Port ot-layout to new public API 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 678bed4333 [HB] Add top-level header files 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 2c80296aa5 [HB] Add XXX marks 2009-11-02 14:40:26 -05:00
Behdad Esfahbod c46f8efd6d [HB] Rename _duplicate to _copy
To be in line with cairo
2009-11-02 14:40:26 -05:00
Behdad Esfahbod f1ebe44985 [HB] Cleanup TODO 2009-11-02 14:40:26 -05:00
Behdad Esfahbod f1322e52d5 [HB] Cleanup public buffer structs 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 6d5bb18e93 [OT] Match struct with HB's 2009-11-02 14:40:25 -05:00
Behdad Esfahbod 11fbb5487d [HB] Port buffert to new object API 2009-11-02 14:40:25 -05:00
Behdad Esfahbod 0cc7bc59ea [HB] Move typedef's around 2009-11-02 14:40:25 -05:00
Behdad Esfahbod a12dd324a3 [HB] Add get_reference_count() 2009-11-02 14:40:25 -05:00
Behdad Esfahbod baec684fde [HB] Remove glib dependency 2009-11-02 14:40:25 -05:00
Behdad Esfahbod df66028781 [HB] Assorted compiler macros 2009-11-02 14:40:25 -05:00
Behdad Esfahbod ba8d94ce33 [HB] Simplify object creation 2009-11-02 14:40:25 -05:00
Behdad Esfahbod c62b503770 [HB] Add abstract font and face API
Not used yet.
2009-11-02 14:40:25 -05:00
Behdad Esfahbod 35a7383c61 [HB] Simplify refcounting functions 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 23af767a44 [HB] Fix for dfont's with multiple faces 2009-11-02 14:40:24 -05:00
Behdad Esfahbod e97a95f2ea [HB] Use calloc instead of malloc where feasible 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 0090dc0f67 [HB] Remove hinting setting and use ppem==0 to mean "no hinting" 2009-11-02 14:40:24 -05:00
Behdad Esfahbod f0954d1e08 [HB] Add a "blob" manager 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 02a370697d [HB] Move direction to buffer 2009-11-02 14:40:23 -05:00
Behdad Esfahbod 7cda6fa24c [HB] Rename internal vars 2009-11-02 14:40:23 -05:00
Behdad Esfahbod b196e6f274 [HB] Fix buffer enlargement. Ouch 2009-11-02 14:40:23 -05:00
Behdad Esfahbod f9cd1014f8 Apply patch from Jonathan Kew 2009-11-02 14:40:23 -05:00
Behdad Esfahbod 2ebb89d63d Revert "XX"
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod 55520d2af1 XX 2009-11-02 14:40:22 -05:00
Behdad Esfahbod f53d434b91 [GPOS] Advance buffer cursor in SinglePos lookups. Ouch! 2009-11-02 14:40:22 -05:00
Behdad Esfahbod e35bbd570a [HB] Improve buffer. Don't dup out buffer unless out is longer than in
That is, we work in-place even for ligatures now.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod 6734ed4b6b [GPOS] Fix property checking 2009-11-02 14:40:21 -05:00
Behdad Esfahbod cc83ae1248 [GPOS] Add vertical TODO 2009-11-02 14:40:21 -05:00
Behdad Esfahbod b69d38e7ea [HB] Remove useless include 2009-11-02 14:40:21 -05:00
Behdad Esfahbod 6c8108cb58 [GPOS] Remove unused variables 2009-11-02 14:40:21 -05:00
Behdad Esfahbod 09c292e3b6 [HB] Fix glyph properties 2009-11-02 14:40:21 -05:00
Behdad Esfahbod 64e33f008f [GPOS] Fix PairPos signedness 2009-11-02 14:40:20 -05:00
Behdad Esfahbod 80ea5bd10e [GPOS] Fix mark matching 2009-11-02 14:40:20 -05:00
Behdad Esfahbod 4189b92aaa [HB] When looking back/forward, skip marks only 2009-11-02 14:40:20 -05:00
Behdad Esfahbod 1246e41021 [GDEF] Support MarkFilteringSets 2009-11-02 14:40:20 -05:00
Behdad Esfahbod 5130c35e93 [HB] Simplify MarkAttachmentType handling 2009-11-02 14:40:20 -05:00
Behdad Esfahbod e4b92b85a7 [HB] Support parsing MarkFilteringSets introduced in OpenType 1.6 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 515ce4ceb2 [HB] More de-C++'ization 2009-11-02 14:40:19 -05:00
Behdad Esfahbod d7df42d7ee [HB] Start MarkFilteringSet support 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 62964afcec [HB] Implement get_lig_carets() 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 79420ad9ca [HB] Add get_attach_points() 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 855720ca47 [HB] Remove more macros 2009-11-02 14:40:19 -05:00
Behdad Esfahbod c968fc2dc8 [HB] More buffer cleanup 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 88a5f5a49b [HB] Cleanup buffer 2009-11-02 14:40:19 -05:00
Behdad Esfahbod 347f0b8621 [HB] Clean more 2009-11-02 14:40:18 -05:00
Behdad Esfahbod d9d2a07f4a [HB] Remove one XXX, add another 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 6c78683c04 [HB] Update copyright years 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 4497af0069 [HB] Would have helped if I actually knew C++ before using it... 2009-11-02 14:40:18 -05:00
Behdad Esfahbod cc6c644ff2 [HB] More cleanup 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 20cc86b359 [HB] Simplify Tag 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 3ec0092c5e [HB] Simplify more 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 6ad8d5f3c7 [HB] Simplify some basic things 2009-11-02 14:40:18 -05:00
Behdad Esfahbod f96ffd43bc [HB] simplify macros 2009-11-02 14:40:18 -05:00
Behdad Esfahbod 8e7b30782a [HB] Update text files 2009-11-02 14:40:18 -05:00
Behdad Esfahbod fa7d472494 [HB] Remove stale makefile.msc too 2009-11-02 14:40:17 -05:00
Behdad Esfahbod da2c52abcd [HB] Remove old code!
Goodbye 16 thousand lines of ten-year old code!
2009-11-02 14:40:17 -05:00
Behdad Esfahbod e5372f1621 [HB] Remove stale TODO mark 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 96908b8984 [HB] Add FixedVersion cast to int 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 957740dd25 [HB] Simplify tag 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 87fcdcbe36 [HB] Remove unused data types 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 5876bf1b73 [HB] Simplify version check in GSUB/GPOS 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 212aba6189 [HB] Check for GDEF/GSUB/GPOS versions 2009-11-02 14:40:17 -05:00
Behdad Esfahbod a21b5062cc [HB] Minor 2009-11-02 14:40:17 -05:00
Behdad Esfahbod a080b1cc2f [HB] Add TODO items 2009-11-02 14:40:17 -05:00
Behdad Esfahbod e4efdd80a8 [GDEF] Add some get_carret_value() code 2009-11-02 14:40:17 -05:00
Behdad Esfahbod 9b006bc032 [GPOS] MarkLigPosFormat1
GPOS is complete now!  Yay!
2009-11-02 14:40:16 -05:00
Behdad Esfahbod 923923feb2 [HB] Remove apply_subtables() again 2009-11-02 14:40:16 -05:00
Behdad Esfahbod d468f9af5b [HB] Share Extension lookup code between GSUB and GPOS 2009-11-02 14:40:16 -05:00
Behdad Esfahbod 498f1909e0 [GPOS] Remove printf. MarkMarkPos1 is working
The "bug" was in the font.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod c7d457aa3a [HB] Ouch. Add files. 2009-11-02 14:40:16 -05:00
Behdad Esfahbod fe550f4dd8 [GPOS] MarkMarkPosFormat1
Still not quite working.
2009-11-02 14:40:16 -05:00
Behdad Esfahbod 357ccde36b [GPOS] MarkBasePosFormat1 2009-11-02 14:40:16 -05:00
Behdad Esfahbod 377bfc5860 [GPOS] Implement MarkArray interface 2009-11-02 14:40:16 -05:00
Behdad Esfahbod c18ec2b1d7 [GPOS] Implement Device support in AnchorFormat3 2009-11-02 14:40:15 -05:00
Behdad Esfahbod fca6a0d158 [GPOS] Remove apply_value() return value 2009-11-02 14:40:15 -05:00
Behdad Esfahbod fb3b5ccfef [GPOS] Start MarkBasePosFormat1 2009-11-02 14:40:15 -05:00
Behdad Esfahbod ee8776d9e0 [HB] Add TODO item 2009-11-02 14:40:15 -05:00
Behdad Esfahbod c6456ca5cf [HB] Add TODO item 2009-11-02 14:40:15 -05:00
Behdad Esfahbod 3015c41751 [HB] Remove last dependence on the old code base! 2009-11-02 14:40:15 -05:00
Behdad Esfahbod 5c0adce1cc [HB] Rename harfbuzz-buffer to hb-buffer 2009-11-02 14:40:15 -05:00
Behdad Esfahbod b857b49c82 [HB] Remove all references to the old code! 2009-11-02 14:40:15 -05:00
Behdad Esfahbod e1593a6e62 [GPOS] Finally it's working, up to Cursive
Wow, IranNastaliq renders perfectly again!
2009-11-02 14:40:15 -05:00
Behdad Esfahbod 0f7e6b2cea [GPOS] Fix more brokenness 2009-11-02 14:40:15 -05:00
Behdad Esfahbod ff05d257dd [HB] Move lookup types enum into subtable class 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 263bbef767 [GDEF] Simplify Device access 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 60d77cf05f [HB] Indentation 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 90de3dfff9 [HB] Remove unused methods 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 4c44d830d7 [HB] Indentation 2009-11-02 14:40:14 -05:00
Behdad Esfahbod d18fd8e3f7 [GPOS] CursivePosFormat1 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 70632add33 [GSUB] PairPosFormat2 2009-11-02 14:40:14 -05:00
Behdad Esfahbod b24ecbadf4 [GPOS] PairPosFormat1 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 056c7ec1ae [GPOS] Start filling apply() functions in 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 4fa77d3c43 [HB] Use enums 2009-11-02 14:40:14 -05:00
Behdad Esfahbod 6b54c5d044 [HB] More reference cast simplification 2009-11-02 14:40:14 -05:00
Behdad Esfahbod eb0dfc830e [HB] Rename LOOKUP_ARGS to APPLY_ARGS 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 2a8e6accdf [HB] Internally rename position() and substitute() to apply() 2009-11-02 14:40:13 -05:00
Behdad Esfahbod f6c8a6eacf [HB] Simplify casts 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 9c42f05a5c Switch Pango to new, defunt, GPOS 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 5e5eb0573f [HB] Start GPOS! 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 64e67f7599 [GSUB] Minor 2009-11-02 14:40:13 -05:00
Behdad Esfahbod d79cae0b4e [HB] Minor 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 8533bb985e [GSUB] Protect against mismatching Extension subtable types 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 969afd706e [GSUB] Implement ReverseChainSingleSubst
GSUB is done!
2009-11-02 14:40:13 -05:00
Behdad Esfahbod 4acaffd786 [HB] Don't use G_LIKELY! 2009-11-02 14:40:13 -05:00
Behdad Esfahbod 3dcb12f171 [GSUB] Oops, fix Extension check 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 2e8fb6c38d [HB] Tweak some constants and fix Coverage 2009-11-02 14:40:12 -05:00
Behdad Esfahbod d6aae5f5ca [HB] Cleanup TODOs 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 122f21fb9a [GSUB] Fix context_length handling in Ligature too 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 47958dea21 [HB] Minor cleanup 2009-11-02 14:40:12 -05:00
Behdad Esfahbod e73a0c2a90 [HB] Correctly skip glyphs when applying (Chain)Context lookups 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 7cff75babd [HB] Fix context_length checking 2009-11-02 14:40:12 -05:00
Behdad Esfahbod d0ba055700 [HB] ChainContext complete
IranNastaliq renders perfectly again!
2009-11-02 14:40:12 -05:00
Behdad Esfahbod e072c24e79 [HB] Implement backtrack matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 02e1e5c63f [HB] One more step to go, for fully working GSUB and ChainContext 2009-11-02 14:40:12 -05:00
Behdad Esfahbod f14c2b7acf [HB] Further modularize Context matching 2009-11-02 14:40:12 -05:00
Behdad Esfahbod 13ed4405c5 [HB] A step closer to working ChainContext 2009-11-02 14:40:11 -05:00
Behdad Esfahbod e8cbaaf6d5 [HB] Add HeadlessArrayTo<> 2009-11-02 14:40:11 -05:00
Behdad Esfahbod dcb6b60254 [HB] More template goodness 2009-11-02 14:40:11 -05:00
Behdad Esfahbod aa3d7adca5 [HB] More churning towards ChainContext lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 48f16ed96a [HB] Towards sharing Context and ChainContext code 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 6cf2a52593 [HB] Add check to avoid infinite recursion 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 887c4b4416 [HB] Cosmetic 2009-11-02 14:40:11 -05:00
Behdad Esfahbod ca5290f499 [HB] Start ChainContext and ReverseChainSingleSubst lookups 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 433f4aea74 [HB] Remove stale TODO 2009-11-02 14:40:11 -05:00
Behdad Esfahbod 6f20f72e9c [HB] Split Layout-common tables into new files 2009-11-02 14:40:11 -05:00
Behdad Esfahbod f45107fe09 [HB] More shuffling 2009-11-02 14:40:11 -05:00
Behdad Esfahbod f8dc67b3c2 [HB] Cleanup format unions 2009-11-02 14:40:10 -05:00
Behdad Esfahbod da1097bc3b [HB] Use four bytes for Null Tag, not 5 2009-11-02 14:40:10 -05:00
Behdad Esfahbod 19fc24f268 [HB] Couple size checks 2009-11-02 14:40:10 -05:00
Behdad Esfahbod ecf17e849d [HB] Propagate property of first glyph
This slightly grows code size.
2009-11-02 14:40:10 -05:00
Behdad Esfahbod eca8e33710 [GSUB] Further optimize the main switch 2009-11-02 14:40:10 -05:00
Behdad Esfahbod 13068232e7 [HB] Unify first glyph property checking 2009-11-02 14:40:10 -05:00