framework/uifw/harfbuzz.git
14 years ago[GPOS] Finally it's working, up to Cursive
Behdad Esfahbod [Wed, 20 May 2009 08:51:30 +0000 (04:51 -0400)]
[GPOS] Finally it's working, up to Cursive

Wow, IranNastaliq renders perfectly again!

14 years ago[GPOS] Fix more brokenness
Behdad Esfahbod [Wed, 20 May 2009 08:16:35 +0000 (04:16 -0400)]
[GPOS] Fix more brokenness

14 years ago[HB] Move lookup types enum into subtable class
Behdad Esfahbod [Wed, 20 May 2009 07:53:00 +0000 (03:53 -0400)]
[HB] Move lookup types enum into subtable class

14 years ago[GDEF] Simplify Device access
Behdad Esfahbod [Wed, 20 May 2009 04:00:09 +0000 (00:00 -0400)]
[GDEF] Simplify Device access

14 years ago[HB] Indentation
Behdad Esfahbod [Wed, 20 May 2009 03:58:54 +0000 (23:58 -0400)]
[HB] Indentation

14 years ago[HB] Remove unused methods
Behdad Esfahbod [Wed, 20 May 2009 03:43:04 +0000 (23:43 -0400)]
[HB] Remove unused methods

14 years ago[HB] Indentation
Behdad Esfahbod [Wed, 20 May 2009 03:42:30 +0000 (23:42 -0400)]
[HB] Indentation

14 years ago[GPOS] CursivePosFormat1
Behdad Esfahbod [Wed, 20 May 2009 03:25:41 +0000 (23:25 -0400)]
[GPOS] CursivePosFormat1

14 years ago[GSUB] PairPosFormat2
Behdad Esfahbod [Wed, 20 May 2009 02:30:09 +0000 (22:30 -0400)]
[GSUB] PairPosFormat2

14 years ago[GPOS] PairPosFormat1
Behdad Esfahbod [Wed, 20 May 2009 02:16:04 +0000 (22:16 -0400)]
[GPOS] PairPosFormat1

14 years ago[GPOS] Start filling apply() functions in
Behdad Esfahbod [Mon, 18 May 2009 23:47:52 +0000 (19:47 -0400)]
[GPOS] Start filling apply() functions in

14 years ago[HB] Use enums
Behdad Esfahbod [Mon, 18 May 2009 22:44:54 +0000 (18:44 -0400)]
[HB] Use enums

14 years ago[HB] More reference cast simplification
Behdad Esfahbod [Mon, 18 May 2009 22:30:25 +0000 (18:30 -0400)]
[HB] More reference cast simplification

14 years ago[HB] Rename LOOKUP_ARGS to APPLY_ARGS
Behdad Esfahbod [Mon, 18 May 2009 22:22:44 +0000 (18:22 -0400)]
[HB] Rename LOOKUP_ARGS to APPLY_ARGS

14 years ago[HB] Internally rename position() and substitute() to apply()
Behdad Esfahbod [Mon, 18 May 2009 22:21:44 +0000 (18:21 -0400)]
[HB] Internally rename position() and substitute() to apply()

14 years ago[HB] Simplify casts
Behdad Esfahbod [Mon, 18 May 2009 22:01:19 +0000 (18:01 -0400)]
[HB] Simplify casts

14 years agoSwitch Pango to new, defunt, GPOS
Behdad Esfahbod [Mon, 18 May 2009 21:43:49 +0000 (17:43 -0400)]
Switch Pango to new, defunt, GPOS

14 years ago[HB] Start GPOS!
Behdad Esfahbod [Mon, 18 May 2009 21:09:33 +0000 (17:09 -0400)]
[HB] Start GPOS!

14 years ago[GSUB] Minor
Behdad Esfahbod [Mon, 18 May 2009 19:32:40 +0000 (15:32 -0400)]
[GSUB] Minor

14 years ago[HB] Minor
Behdad Esfahbod [Mon, 18 May 2009 17:50:15 +0000 (13:50 -0400)]
[HB] Minor

14 years ago[GSUB] Protect against mismatching Extension subtable types
Behdad Esfahbod [Mon, 18 May 2009 10:00:12 +0000 (06:00 -0400)]
[GSUB] Protect against mismatching Extension subtable types

14 years ago[GSUB] Implement ReverseChainSingleSubst
Behdad Esfahbod [Mon, 18 May 2009 09:47:47 +0000 (05:47 -0400)]
[GSUB] Implement ReverseChainSingleSubst

GSUB is done!

14 years ago[HB] Don't use G_LIKELY!
Behdad Esfahbod [Mon, 18 May 2009 09:29:29 +0000 (05:29 -0400)]
[HB] Don't use G_LIKELY!

14 years ago[GSUB] Oops, fix Extension check
Behdad Esfahbod [Mon, 18 May 2009 09:22:32 +0000 (05:22 -0400)]
[GSUB] Oops, fix Extension check

14 years ago[HB] Tweak some constants and fix Coverage
Behdad Esfahbod [Mon, 18 May 2009 08:37:37 +0000 (04:37 -0400)]
[HB] Tweak some constants and fix Coverage

14 years ago[HB] Cleanup TODOs
Behdad Esfahbod [Mon, 18 May 2009 08:25:22 +0000 (04:25 -0400)]
[HB] Cleanup TODOs

14 years ago[GSUB] Fix context_length handling in Ligature too
Behdad Esfahbod [Mon, 18 May 2009 08:21:53 +0000 (04:21 -0400)]
[GSUB] Fix context_length handling in Ligature too

14 years ago[HB] Minor cleanup
Behdad Esfahbod [Mon, 18 May 2009 08:17:47 +0000 (04:17 -0400)]
[HB] Minor cleanup

14 years ago[HB] Correctly skip glyphs when applying (Chain)Context lookups
Behdad Esfahbod [Mon, 18 May 2009 08:15:25 +0000 (04:15 -0400)]
[HB] Correctly skip glyphs when applying (Chain)Context lookups

14 years ago[HB] Fix context_length checking
Behdad Esfahbod [Mon, 18 May 2009 08:09:05 +0000 (04:09 -0400)]
[HB] Fix context_length checking

14 years ago[HB] ChainContext complete
Behdad Esfahbod [Mon, 18 May 2009 07:56:39 +0000 (03:56 -0400)]
[HB] ChainContext complete

IranNastaliq renders perfectly again!

14 years ago[HB] Implement backtrack matching
Behdad Esfahbod [Mon, 18 May 2009 07:47:31 +0000 (03:47 -0400)]
[HB] Implement backtrack matching

14 years ago[HB] One more step to go, for fully working GSUB and ChainContext
Behdad Esfahbod [Mon, 18 May 2009 06:47:57 +0000 (02:47 -0400)]
[HB] One more step to go, for fully working GSUB and ChainContext

14 years ago[HB] Further modularize Context matching
Behdad Esfahbod [Mon, 18 May 2009 06:36:18 +0000 (02:36 -0400)]
[HB] Further modularize Context matching

14 years ago[HB] A step closer to working ChainContext
Behdad Esfahbod [Mon, 18 May 2009 06:14:37 +0000 (02:14 -0400)]
[HB] A step closer to working ChainContext

14 years ago[HB] Add HeadlessArrayTo<>
Behdad Esfahbod [Mon, 18 May 2009 06:03:58 +0000 (02:03 -0400)]
[HB] Add HeadlessArrayTo<>

14 years ago[HB] More template goodness
Behdad Esfahbod [Mon, 18 May 2009 05:49:57 +0000 (01:49 -0400)]
[HB] More template goodness

14 years ago[HB] More churning towards ChainContext lookups
Behdad Esfahbod [Mon, 18 May 2009 03:17:56 +0000 (23:17 -0400)]
[HB] More churning towards ChainContext lookups

14 years ago[HB] Towards sharing Context and ChainContext code
Behdad Esfahbod [Mon, 18 May 2009 02:11:30 +0000 (22:11 -0400)]
[HB] Towards sharing Context and ChainContext code

14 years ago[HB] Add check to avoid infinite recursion
Behdad Esfahbod [Mon, 18 May 2009 01:11:49 +0000 (21:11 -0400)]
[HB] Add check to avoid infinite recursion

14 years ago[HB] Cosmetic
Behdad Esfahbod [Mon, 18 May 2009 01:06:08 +0000 (21:06 -0400)]
[HB] Cosmetic

14 years ago[HB] Start ChainContext and ReverseChainSingleSubst lookups
Behdad Esfahbod [Mon, 18 May 2009 00:48:27 +0000 (20:48 -0400)]
[HB] Start ChainContext and ReverseChainSingleSubst lookups

14 years ago[HB] Remove stale TODO
Behdad Esfahbod [Mon, 18 May 2009 00:30:05 +0000 (20:30 -0400)]
[HB] Remove stale TODO

14 years ago[HB] Split Layout-common tables into new files
Behdad Esfahbod [Mon, 18 May 2009 00:28:01 +0000 (20:28 -0400)]
[HB] Split Layout-common tables into new files

14 years ago[HB] More shuffling
Behdad Esfahbod [Mon, 18 May 2009 00:13:02 +0000 (20:13 -0400)]
[HB] More shuffling

14 years ago[HB] Cleanup format unions
Behdad Esfahbod [Sun, 17 May 2009 23:47:54 +0000 (19:47 -0400)]
[HB] Cleanup format unions

14 years ago[HB] Use four bytes for Null Tag, not 5
Behdad Esfahbod [Sun, 17 May 2009 23:31:18 +0000 (19:31 -0400)]
[HB] Use four bytes for Null Tag, not 5

14 years ago[HB] Couple size checks
Behdad Esfahbod [Sun, 17 May 2009 13:45:32 +0000 (09:45 -0400)]
[HB] Couple size checks

14 years ago[HB] Propagate property of first glyph
Behdad Esfahbod [Sun, 17 May 2009 13:34:41 +0000 (09:34 -0400)]
[HB] Propagate property of first glyph

This slightly grows code size.

14 years ago[GSUB] Further optimize the main switch
Behdad Esfahbod [Sun, 17 May 2009 13:07:27 +0000 (09:07 -0400)]
[GSUB] Further optimize the main switch

14 years ago[HB] Unify first glyph property checking
Behdad Esfahbod [Sun, 17 May 2009 12:59:01 +0000 (08:59 -0400)]
[HB] Unify first glyph property checking

14 years ago[HB] Move Context matching logic out of GSUB
Behdad Esfahbod [Sun, 17 May 2009 12:28:42 +0000 (08:28 -0400)]
[HB] Move Context matching logic out of GSUB

14 years ago[GSUB] Unify ContextSubst matching
Behdad Esfahbod [Sun, 17 May 2009 11:52:11 +0000 (07:52 -0400)]
[GSUB] Unify ContextSubst matching

14 years ago[HB] Renames
Behdad Esfahbod [Sun, 17 May 2009 11:39:34 +0000 (07:39 -0400)]
[HB] Renames

14 years ago[HB] Simplify buffer
Behdad Esfahbod [Sun, 17 May 2009 10:03:42 +0000 (06:03 -0400)]
[HB] Simplify buffer

14 years ago[HB] Add TODO item
Behdad Esfahbod [Sun, 17 May 2009 09:52:32 +0000 (05:52 -0400)]
[HB] Add TODO item

14 years ago[HB] Update copyright years
Behdad Esfahbod [Sun, 17 May 2009 09:14:33 +0000 (05:14 -0400)]
[HB] Update copyright years

14 years ago[HB] Simplify more arrays
Behdad Esfahbod [Sun, 17 May 2009 08:59:56 +0000 (04:59 -0400)]
[HB] Simplify more arrays

14 years ago[HB] Use ArrayOf<> in GSUB
Behdad Esfahbod [Sun, 17 May 2009 05:22:51 +0000 (01:22 -0400)]
[HB] Use ArrayOf<> in GSUB

14 years ago[HB] Add ArrayOf<>
Behdad Esfahbod [Sun, 17 May 2009 04:54:25 +0000 (00:54 -0400)]
[HB] Add ArrayOf<>

14 years ago[HB] Use OffsetTo<> for Coverage
Behdad Esfahbod [Sun, 17 May 2009 04:22:37 +0000 (00:22 -0400)]
[HB] Use OffsetTo<> for Coverage

14 years ago[HB] Use OffsetTo<> in more places
Behdad Esfahbod [Sun, 17 May 2009 04:15:51 +0000 (00:15 -0400)]
[HB] Use OffsetTo<> in more places

14 years ago[HB] Add OffsetTo template.
Behdad Esfahbod [Sun, 17 May 2009 04:09:20 +0000 (00:09 -0400)]
[HB] Add OffsetTo template.

14 years ago[HB] Automate int-type size assertion
Behdad Esfahbod [Sun, 17 May 2009 03:20:48 +0000 (23:20 -0400)]
[HB] Automate int-type size assertion

14 years ago[HB] Use templates for Null objects
Behdad Esfahbod [Sun, 17 May 2009 02:48:14 +0000 (22:48 -0400)]
[HB] Use templates for Null objects

Also use a common pool for all nul-content ones.

14 years ago[HB] Remove obsolete comment
Behdad Esfahbod [Sun, 17 May 2009 00:15:16 +0000 (20:15 -0400)]
[HB] Remove obsolete comment

14 years ago[GSUB] Start ChainContextSubst
Behdad Esfahbod [Sat, 16 May 2009 23:59:15 +0000 (19:59 -0400)]
[GSUB] Start ChainContextSubst

14 years ago[GSUB] Implement ContextSubstFormat3
Behdad Esfahbod [Sat, 16 May 2009 23:44:24 +0000 (19:44 -0400)]
[GSUB] Implement ContextSubstFormat3

14 years ago[GSUB] Implement ContextSubstFormat2
Behdad Esfahbod [Sat, 16 May 2009 00:25:37 +0000 (20:25 -0400)]
[GSUB] Implement ContextSubstFormat2

14 years ago[GSUB] Add GSUB::substitute_lookup()
Behdad Esfahbod [Sat, 16 May 2009 00:11:10 +0000 (20:11 -0400)]
[GSUB] Add GSUB::substitute_lookup()

14 years ago[GSUB] Finish ContextSubstFormat1
Behdad Esfahbod [Fri, 15 May 2009 22:54:53 +0000 (18:54 -0400)]
[GSUB] Finish ContextSubstFormat1

14 years ago[HB] Fix typo
Behdad Esfahbod [Fri, 15 May 2009 17:28:56 +0000 (13:28 -0400)]
[HB] Fix typo

14 years ago[HB] Add TODO item
Behdad Esfahbod [Fri, 15 May 2009 05:00:36 +0000 (01:00 -0400)]
[HB] Add TODO item

14 years ago[HB] Remove DEFINE_NON_INSTANTIABLE
Behdad Esfahbod [Sat, 9 May 2009 01:17:56 +0000 (21:17 -0400)]
[HB] Remove DEFINE_NON_INSTANTIABLE

14 years ago[HB] Remove get_size()
Behdad Esfahbod [Sat, 9 May 2009 01:12:18 +0000 (21:12 -0400)]
[HB] Remove get_size()

14 years ago[GSUB] ContextSubst format 1
Behdad Esfahbod [Fri, 8 May 2009 23:09:17 +0000 (19:09 -0400)]
[GSUB] ContextSubst format 1

14 years ago[GSUB] Shuffle
Behdad Esfahbod [Fri, 8 May 2009 22:45:53 +0000 (18:45 -0400)]
[GSUB] Shuffle

14 years ago[HarfBuzz] Start a TODO file
Behdad Esfahbod [Thu, 7 May 2009 16:53:02 +0000 (12:53 -0400)]
[HarfBuzz] Start a TODO file

14 years ago[GSUB] minor
Behdad Esfahbod [Wed, 6 May 2009 04:25:59 +0000 (00:25 -0400)]
[GSUB] minor

14 years ago[GSUB] Towards Context subtitutes
Behdad Esfahbod [Wed, 6 May 2009 04:12:29 +0000 (00:12 -0400)]
[GSUB] Towards Context subtitutes

14 years ago[GSUB] Minor refactoring
Behdad Esfahbod [Tue, 5 May 2009 20:22:02 +0000 (16:22 -0400)]
[GSUB] Minor refactoring

14 years ago[GSUB] Implement ligature substitutions
Behdad Esfahbod [Tue, 5 May 2009 17:25:13 +0000 (13:25 -0400)]
[GSUB] Implement ligature substitutions

14 years ago[GSUB] Hook new GSUB up in Pango
Behdad Esfahbod [Tue, 5 May 2009 00:21:57 +0000 (20:21 -0400)]
[GSUB] Hook new GSUB up in Pango

14 years ago[GSUB] Start Ligature subtable support
Behdad Esfahbod [Thu, 16 Apr 2009 20:53:40 +0000 (16:53 -0400)]
[GSUB] Start Ligature subtable support

14 years ago[GSUB] Implement Alternate subtables
Behdad Esfahbod [Thu, 16 Apr 2009 18:19:42 +0000 (14:19 -0400)]
[GSUB] Implement Alternate subtables

14 years ago[GSUB] Implement Extension subtables
Behdad Esfahbod [Thu, 16 Apr 2009 17:40:13 +0000 (13:40 -0400)]
[GSUB] Implement Extension subtables

14 years ago[GSUB] Fix reverse lookup loop like we did in the old code before
Behdad Esfahbod [Thu, 16 Apr 2009 16:30:51 +0000 (12:30 -0400)]
[GSUB] Fix reverse lookup loop like we did in the old code before

14 years ago[harfbuzz/GSUB] towards a partially working GSUB
Behdad Esfahbod [Thu, 16 Apr 2009 08:45:30 +0000 (04:45 -0400)]
[harfbuzz/GSUB] towards a partially working GSUB

14 years agoImplement the first substitute()
Behdad Esfahbod [Thu, 16 Apr 2009 02:56:15 +0000 (22:56 -0400)]
Implement the first substitute()

14 years agoMerge harfbuzz-ng
Behdad Esfahbod [Mon, 2 Nov 2009 19:35:51 +0000 (14:35 -0500)]
Merge harfbuzz-ng

15 years agoUse git.mk
Behdad Esfahbod [Fri, 17 Apr 2009 21:03:39 +0000 (17:03 -0400)]
Use git.mk

15 years agoGive it a start at GSUB
Behdad Esfahbod [Wed, 15 Apr 2009 23:50:16 +0000 (19:50 -0400)]
Give it a start at GSUB

15 years agoBug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD
Behdad Esfahbod [Thu, 9 Apr 2009 17:30:26 +0000 (13:30 -0400)]
Bug 577952 – Error loading {GDEF,GSUB,GPOS} table 0x6EAD

Detect TrueType Collections by checking the font data header instead
of checking for "face->num_faces >1".

15 years ago[opentype] Protect against illegal access for arrays of length zero
Behdad Esfahbod [Mon, 2 Mar 2009 11:46:11 +0000 (15:16 +0330)]
[opentype] Protect against illegal access for arrays of length zero

15 years ago[opentype] Use size_t instead of uint for malloc wrappers
Behdad Esfahbod [Mon, 2 Mar 2009 10:50:20 +0000 (14:20 +0330)]
[opentype] Use size_t instead of uint for malloc wrappers

15 years agoFix Bug 572529 – Poor -I ordering can break build
Behdad Esfahbod [Mon, 2 Mar 2009 07:39:29 +0000 (11:09 +0330)]
Fix Bug 572529 – Poor -I ordering can break build

15 years agoAllocate all array rows in a single ALLOC call. Saves over 100 alloc calls
Behdad Esfahbod [Mon, 2 Feb 2009 00:13:07 +0000 (00:13 +0000)]
Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls

2009-01-31  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-gpos.c (Load_Mark2Array),
        (Free_Mark2Array):
        Allocate all array rows in a single ALLOC call.  Saves over 100
        alloc calls when loading DejaVu Sans,

15 years agoRemove ClassDef->Defined field. This is the comment accompanying it:
Behdad Esfahbod [Thu, 29 Jan 2009 09:20:08 +0000 (09:20 +0000)]
Remove ClassDef->Defined field. This is the comment accompanying it:

2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-open.h:
        * pango/opentype/harfbuzz-gdef.c (Make_ClassRange),
        (HB_GDEF_Build_ClassDefinition):
        * pango/opentype/harfbuzz-gpos.c (Load_PosClassRule),
        (Load_ChainPosClassRule):
        * pango/opentype/harfbuzz-gsub.c (Load_SubClassRule),
        (Load_ChainSubClassRule):
        * pango/opentype/harfbuzz-open.c (Load_ClassDef1),
        (Load_ClassDef2), (_HB_OPEN_Load_ClassDefinition),
        (_HB_OPEN_Load_EmptyClassDefinition),
        (_HB_OPEN_Free_ClassDefinition):
        Remove ClassDef->Defined field.  This is the comment accompanying it:

          The `Defined' field is not defined in the OpenType specification
          but apparently needed for processing fonts like trado.ttf: This
          font refers to a class which contains not a single element.  We
          map such classes to class 0.

        The comment is correct that trado.ttf (MS Traditional Arabic) uses
        such classes.  However, in my testing I couldn't identify any
        problems with the font if the special handling is removed.  I also
        processed as many fonts as I could get my hand on and trado.ttf was
        the only not-totally-broken font hitting the special-case code.
        DejaVu fonts hit it too, but I'm sure they do not require the
        special-handling code.  Most probably, that code introduces bugs
        in them.

        The special-casing was consuming lots of memory.  EIGHT MEGABYTES
        for loading DejaVu Sans!  While this could be complete fixed, I
        decided to remove the special-handling code altogether.  I don't
        think it will make any real difference, and if it does, we'll fix
        fonts.  Such hacks will not be in harfbuzz-ng anyway.

        Bug originally reported by nsf.

15 years agoUse calloc(), instead of malloc()ing and memset()ing.
Behdad Esfahbod [Thu, 29 Jan 2009 09:19:56 +0000 (09:19 +0000)]
Use calloc(), instead of malloc()ing and memset()ing.

2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-impl.c (_hb_alloc): Use calloc(),
        instead of malloc()ing and memset()ing.

15 years agoRemove old cruft.
Behdad Esfahbod [Thu, 29 Jan 2009 09:19:43 +0000 (09:19 +0000)]
Remove old cruft.

2009-01-29  Behdad Esfahbod  <behdad@gnome.org>

        * pango/opentype/harfbuzz-dump-main.c (main): Remove old cruft.