[HarfBuzz] harfbuzz-ng: Changes to 'refs/tags/0.9.1'
Behdad Esfahbod
behdad at kemper.freedesktop.org
Fri Aug 10 10:51:31 PDT 2012
Tag '0.9.1' created by Behdad Esfahbod <behdad at behdad.org> at 2012-08-10 18:51 -0700
0.9.1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.10 (GNU/Linux)
iEYEABECAAYFAlAlShcACgkQn+4E5dNTERUFzQCfcPwXeu7yWVHp8Jg546rC2ZHT
sQoAoK3Y1Q8hJJ3Wy6+/YfjH8mnQzkfs
=3Z6P
-----END PGP SIGNATURE-----
Changes since the dawn of time:
Behdad Esfahbod (2332):
Fix bug to copy glyph from in_string, not out_string.
Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
Replace perror with perror_. Remove FT_BEGIN_STMNT and FT_END_STMNT.
Generate valid XML output. Dump LookupFlag too.
Patches from #170414. Reviewed by Matthias Clasen.
Turn various gcc warnings off. Adding const, adding static, fully
Remove debug line that got in accidentally.
Part of #101079:
Reworked basic shaper with OpenType support. (#101079, based on patch from
Protect against possible division by zeros (#316468, Steve Grubb)
Added "Since:" tags to all interfaces added after Pango 1.0. (#319116,
Fix typo in docs.
Tiny doc improvement.
Use g_slice for PangoOTBuffer allocation. (bug #325026, Matthias Clasen)
pango/Makefile.am, pango/fonts.c, pango/glyphstring.c,
Make sure #include <config.h> is the first include in the file. (bug
If major.minor of required and available glib versions are the same, add
Removed.
Handle GSUB Lookup type 8, and ReverseChainContextualSubst table. (bug
=== Released 1.12.0 ===
Don't err on Table_Missing.
Convert pango/opentype to the new project called HarfBuzz.
Define NULL.
.
.
Make sure TTAG_GDEF and frineds are defined, needed for FreeType <= 2.1.7
Update from HarfBuzz. Lars Knoll fixed all the warnings.
Fix minor bugs reported by the Coverity scan report.
Bug 337924 â cleanups for issues reported by various compilers Patch
Fix loop variables. (coverity found bug.)
Bug 336153 â Mark to mark positioning (Lookup Type 6) isn't correct when
Bug 341138 â Using TTC font, Gtk2 programs begin to eating big memory
Bug 345600 â cvs build error in pango/opentype/Makefile
Bug 347073 â Allow empty GPOS table
First version.
Second version. Complete redesign, based on C++ classes to ensure endian
Remove the annoying HB_ prefix.
After DEFINE_SCRIPT_ARRAY
Add Makefile
Add OpenTypeFontFile.
Make types not instantiable
Use CamelCaseTags.
LangSys
Implement Feature
LookupFlags
Rename to harfbuzz-ng.cc
Coverage.
s/DEFINE_NOT_INSTANTIABLE/DEFINE_NON_INSTANTIABLE/
Define more structs using DEFINE_INT_TYPE.
Rename CoverageFormat to Coverage
ClassDef
Device tables.
Finished OpenType Common Table Formats
GSUBGPOSHeader
s/OpenTypeFont/OpenTypeFontFace/g
Add GPOS stub
Use union for Coverage
Use union for ClassDef
Oops. s/OpenTypeFontFaceFile/OpenTypeFontFile/g
Break and rename, in the layout of old HarfBuzz codebase
Remove stale comment
Don't shift down the mark attachment type
Add stub GDEF files
Remove .cvsignore files (moved to svn:ignore prop)
Copy fixes from harfbuzz stable branch. Includes a leak fix, a kerning
Link freetype to harfbuzz-dump, for those systems that don't track
Improve stupid Makefile
[open] small fixes, including not using unions for main structs
[gdef] Initial implementation
Don't ignore error return value of hb_buffer_copy_output_glyph(). Patch
Bug 463430 â Gets stuck while "formatting message"
Bug 302952 â The placement of a diacritic marks for an arabic ligature
Bug 485559 â Boston Summit HarfBuzz optimizations
Bug 485621 â Get rid of freetype memory allocator in harfbuzz
Allocate buffer->positions lazily.
Rename buffer->inplace to buffer->separate_out with the inverted meaning,
Minor.
Move some code around.
Some more cleanup.
Don't include harfbuzz-dump.[ch] in libharfbuzz.a. Those are just used by
Same here.
Build harfbuzz.c instead of individual source files, to let compiler go
Remove FTGLUE_API/APIDEF cruft.
Mark internal symbols as HB_INTERNAL and define that to static in
Bug 488840 â harfbuzz: protect against ligid overflow
Add commented-out dummy struct for Extension lookups.
New header file harfbuzz-global.h. Rename FT_* int types to HB_* types.
Rename ftglue.c to harfbuzz-impl.c and more type renames and moving code
More cleanup, remove redundant error types.
Even more cleanup and more type renames.
Fix typo.
Some more cleanup and merging.
And some more.
Remove dead code.
Minor
Remove unused macro.
Bug 485536 â underline_position can be zero
Undo accidental change.
Bug 501575 â Compile errors Patch from Jens Granseuer
HarfBuzz was relicensed to a more generous and simpler license. Adapt. See
Remove COPYING.GPL and COPYING.FTL that are no longer there.
Misc cleanup
Finish and test GDEF
Define get_for_data() factories
Make all code NULL-free and assert-free
Clean up file names, add namespace
Minor cleanup, add LIKELY and UNLIKELY annotations
Add copyright notices.
Initial gsub stub
Minor renaming
Minor
Remove unused macro
Starting public interface
More public api
Implement glyph properties
[GDEF] Finish public API
[GDEF] Finish internal API
GDEF completely working now
Rename hb_ot_layout_create() to hb_ot_layout_create_for_data()
Rename HB_OT_Layout to hb_ot_layout_t
Make main.cc compile again, which means finished getter API
Add script and language public getter API
Finish script, language, and feature public API
Fix typo, add TODOs
[hb-ot-layout] Add proper namespace to accessors
Bug 540592 â Crash in HB_GSUB_Apply_String with Linux-Libertine font
Fix left-to-right positioning. Reported by Peter Hunter.
Bug 528272 â "Error loading GPOS table 5503" when using katakana
Fix more warnings.
Bug 469049 â Fix all compiler warnings
Allocate all array rows in a single ALLOC call. Saves over 2000 alloc
Remove old cruft.
Use calloc(), instead of malloc()ing and memset()ing.
Remove ClassDef->Defined field. This is the comment accompanying it:
Allocate all array rows in a single ALLOC call. Saves over 100 alloc calls
Fix Bug 572529 â Poor -I ordering can break build
[opentype] Use size_t instead of uint for malloc wrappers
[opentype] Protect against illegal access for arrays of length zero
Bug 577952 â Error loading {GDEF,GSUB,GPOS} table 0x6EAD
Give it a start at GSUB
Use git.mk
Merge harfbuzz-ng
Implement the first substitute()
[harfbuzz/GSUB] towards a partially working GSUB
[GSUB] Fix reverse lookup loop like we did in the old code before
[GSUB] Implement Extension subtables
[GSUB] Implement Alternate subtables
[GSUB] Start Ligature subtable support
[GSUB] Hook new GSUB up in Pango
[GSUB] Implement ligature substitutions
[GSUB] Minor refactoring
[GSUB] Towards Context subtitutes
[GSUB] minor
[HarfBuzz] Start a TODO file
[GSUB] Shuffle
[GSUB] ContextSubst format 1
[HB] Remove get_size()
[HB] Remove DEFINE_NON_INSTANTIABLE
[HB] Add TODO item
[HB] Fix typo
[GSUB] Finish ContextSubstFormat1
[GSUB] Add GSUB::substitute_lookup()
[GSUB] Implement ContextSubstFormat2
[GSUB] Implement ContextSubstFormat3
[GSUB] Start ChainContextSubst
[HB] Remove obsolete comment
[HB] Use templates for Null objects
[HB] Automate int-type size assertion
[HB] Add OffsetTo template.
[HB] Use OffsetTo<> in more places
[HB] Use OffsetTo<> for Coverage
[HB] Add ArrayOf<>
[HB] Use ArrayOf<> in GSUB
[HB] Simplify more arrays
[HB] Update copyright years
[HB] Add TODO item
[HB] Simplify buffer
[HB] Renames
[GSUB] Unify ContextSubst matching
[HB] Move Context matching logic out of GSUB
[HB] Unify first glyph property checking
[GSUB] Further optimize the main switch
[HB] Propagate property of first glyph
[HB] Couple size checks
[HB] Use four bytes for Null Tag, not 5
[HB] Cleanup format unions
[HB] More shuffling
[HB] Split Layout-common tables into new files
[HB] Remove stale TODO
[HB] Start ChainContext and ReverseChainSingleSubst lookups
[HB] Cosmetic
[HB] Add check to avoid infinite recursion
[HB] Towards sharing Context and ChainContext code
[HB] More churning towards ChainContext lookups
[HB] More template goodness
[HB] Add HeadlessArrayTo<>
[HB] A step closer to working ChainContext
[HB] Further modularize Context matching
[HB] One more step to go, for fully working GSUB and ChainContext
[HB] Implement backtrack matching
[HB] ChainContext complete
[HB] Fix context_length checking
[HB] Correctly skip glyphs when applying (Chain)Context lookups
[HB] Minor cleanup
[GSUB] Fix context_length handling in Ligature too
[HB] Cleanup TODOs
[HB] Tweak some constants and fix Coverage
[GSUB] Oops, fix Extension check
[HB] Don't use G_LIKELY!
[GSUB] Implement ReverseChainSingleSubst
[GSUB] Protect against mismatching Extension subtable types
[HB] Minor
[GSUB] Minor
[HB] Start GPOS!
Switch Pango to new, defunt, GPOS
[HB] Simplify casts
[HB] Internally rename position() and substitute() to apply()
[HB] Rename LOOKUP_ARGS to APPLY_ARGS
[HB] More reference cast simplification
[HB] Use enums
[GPOS] Start filling apply() functions in
[GPOS] PairPosFormat1
[GSUB] PairPosFormat2
[GPOS] CursivePosFormat1
[HB] Indentation
[HB] Remove unused methods
[HB] Indentation
[GDEF] Simplify Device access
[HB] Move lookup types enum into subtable class
[GPOS] Fix more brokenness
[GPOS] Finally it's working, up to Cursive
[HB] Remove all references to the old code!
[HB] Rename harfbuzz-buffer to hb-buffer
[HB] Remove last dependence on the old code base!
[HB] Add TODO item
[HB] Add TODO item
[GPOS] Start MarkBasePosFormat1
[GPOS] Remove apply_value() return value
[GPOS] Implement Device support in AnchorFormat3
[GPOS] Implement MarkArray interface
[GPOS] MarkBasePosFormat1
[GPOS] MarkMarkPosFormat1
[HB] Ouch. Add files.
[GPOS] Remove printf. MarkMarkPos1 is working
[HB] Share Extension lookup code between GSUB and GPOS
[HB] Remove apply_subtables() again
[GPOS] MarkLigPosFormat1
[GDEF] Add some get_carret_value() code
[HB] Add TODO items
[HB] Minor
[HB] Check for GDEF/GSUB/GPOS versions
[HB] Simplify version check in GSUB/GPOS
[HB] Remove unused data types
[HB] Simplify tag
[HB] Add FixedVersion cast to int
[HB] Remove stale TODO mark
[HB] Remove old code!
[HB] Remove stale makefile.msc too
[HB] Update text files
[HB] simplify macros
[HB] Simplify some basic things
[HB] Simplify more
[HB] Simplify Tag
[HB] More cleanup
[HB] Would have helped if I actually knew C++ before using it...
[HB] Update copyright years
[HB] Remove one XXX, add another
[HB] Clean more
[HB] Cleanup buffer
[HB] More buffer cleanup
[HB] Remove more macros
[HB] Add get_attach_points()
[HB] Implement get_lig_carets()
[HB] Start MarkFilteringSet support
[HB] More de-C++'ization
[HB] Support parsing MarkFilteringSets introduced in OpenType 1.6
[HB] Simplify MarkAttachmentType handling
[GDEF] Support MarkFilteringSets
[HB] When looking back/forward, skip marks only
[GPOS] Fix mark matching
[GPOS] Fix PairPos signedness
[HB] Fix glyph properties
[GPOS] Remove unused variables
[HB] Remove useless include
[GPOS] Add vertical TODO
[GPOS] Fix property checking
[HB] Improve buffer. Don't dup out buffer unless out is longer than in
[GPOS] Advance buffer cursor in SinglePos lookups. Ouch!
XX
Revert "XX"
Apply patch from Jonathan Kew
[HB] Fix buffer enlargement. Ouch
[HB] Rename internal vars
[HB] Move direction to buffer
[HB] Add a "blob" manager
[HB] Remove hinting setting and use ppem==0 to mean "no hinting"
[HB] Use calloc instead of malloc where feasible
[HB] Fix for dfont's with multiple faces
[HB] Simplify refcounting functions
[HB] Add abstract font and face API
[HB] Simplify object creation
[HB] Assorted compiler macros
[HB] Remove glib dependency
[HB] Add get_reference_count()
[HB] Move typedef's around
[HB] Port buffert to new object API
[OT] Match struct with HB's
[HB] Cleanup public buffer structs
[HB] Cleanup TODO
[HB] Rename _duplicate to _copy
[HB] Add XXX marks
[HB] Add top-level header files
[HB] Port ot-layout to new public API
[HB] Move OT file handling out of ot-layout
[OT] Rename C++ header files from *.h to *.hh
[HB] Rename hb-font.c to hb-font.cc
[HB] Add sub-blobs
[HB] Simplify sub-blob support
[HB] Use face_t directly instead of ot_layout_t
[HB] Make it all work again
[HB] Remove use of typeof()
[HB] Start sanitize()
[HB] More sanitize()
[HB] Optimize sanitize()
[HB] Add comment
[HB] Finish GSUB sanitize()
[HB] Simplify indirect sanitize()
[HB] Merge more templates
[Hb] Use reinterpret casts instead of direct casts to char *
[HB] More cast cleanup
[HB] Fix couple of bugs
[HB] More casts
[HB] Sanitize DeviceTable
[HB] GPOS sanitize()
[HB] Fix mix warnings
[HB] Hookup NEUTER()
[HB] Remove stale TODO
[HB] Fix Extension sanitize()
[HB] GDEF sanitize()
[HB] Tag sanitize()
[HB] open-file sanitize()
[HB] More sanitize infrastructure
[HB] Shuffle code around
[HB] Minor cleanup
[HB] Add XXX
[HB] Add Sanitizer
[HB] Fix leak
[HB] Hook Sanitizer up. Hell's breaking loose right now
[HB] Avoid infinite recusion in Extension sanitize()
[HB] Fix warnings
[HB] Save edit even if not writeable
[HB] Rename open-types to open-type; beauty
[HB] Add sanitize debugging facilities
[HB] Add missing sanitize
[HB] Fix fatal Sanitizer bug
[HB] More debugging output
[HB] Fix a couple other sanitize() bugs
[HB] Fix another sanitize() bug; hopefully it's the last one
[HB] turn debugging off
[HB] Fix build of main.cc
[HB] Minor
[HB] Improve debug output and fix mprotect bug
[HB] Fix blob unlock
[HB] Improve debug output
[HB] Add a few TODO items
[HB] Minor
[HB] Improve debug output
[HB] Use glib again
[HB] Fix blob to use a actual mutex
[HB] Remove a few 'inline's, though the compiler mostly ignores them
[HB] Fix unaligned access
[HB] Remove stale XXX
[HB] Rebrand XXX as TODO
[HB] Remove another stale XXX
[HB] Remove unused var
[HB] Fix various XXX issues
[HB] Remove clumsy macros and improve API
[HB] Fix bug introduced recently
[HB] Rename hb_ot_layout_feature_mask_t to hb_mask_t
[HB] Remove hb_ot_layout_table_find_feature()
[HB] Print mark sets in main.cc
[HB] Remove done TODO item
[HB] Add a NEXT() macro
[HB] Remove unused code
[HB] Indent
[HB] Don't override CXX compiler
[HB] Put C++ inline's back
[HB] Start adding Unicode funcs
[HB] Reuse the positions array as alt string array
[HB] Add hb_buffer_reverse()
[HB] Add buffer UTF-X API
[HB] Implement buffer UTF-X input
[HB] Flesh out Unicode funcs
[HB] Initialize unicode funcs to nil getters
[HB] Use nil unicode funcs in nil face
[HB] Add hb_unicode_funcs_make_immutable()
[HB] Add hb-glib
[OT] Hookup glib unicode funcs
[HB] Add missing initializer
[HB] Add hb_font_funcs_make_immutable()
[HB] Fix invalid access / overflow on x86-64
[HB] Ouch. Fix compilation.
[HB] Fixed signedness warnings
[HB] Fix _hb_buffer_next() when positioning
[HB] Always clear positions if dirty, before returning to user
[HB] Add comment
Bug 591511 â hb-blob.c does not compile using mingw on windows
Bug 591413 â needs to link with libstdc++
[HB] Fix buffer sizing issue with mingw gcc
Bug 591511 â hh-blob.c does not compile using mingw on windows
[HB] Bitfield packing *is* very delicate
[HB] Add empty hb_shape() API
[HB] Add note about auditing sanitize code for overflows
[HB] Use SANITIZE_THIS() when applicable
[HB] Use inline function for SANITIZE_MEM()
[HB] Debug output for SANITIZE_MEM()
[HB] Fix possible int overflows during sanitize
[HB] Simplify MarkMark
[HB] Simplify MarkBase and MarkLig too
[HB] Correctly sanitize LigatureAttach
[HB] Move code around
[HB] More minor shuffling
[HB] Merge mark positionin code between three types of lookups
[HB] Simplify loop
[HB] Avoid int overflow in GPOS
Bug 592194 - Fix missing _SC_PAGE_SIZE macro
[HB] Fix wrong method signature
[HB] Fix more wrong method signatures
[HB] Fix pedantic warnings
Fix a few other pedantic warnings
[HB] Add font funcs prototypes
[HB] Fix typo
[HB] Hide lig_id and component members of hb_glyph_info_t
[HB] s/writeable/writable/g
[HB] Remove HB_MEMORY_MODE_READONLY_NEVER_DUPLICATE
[HB] Rename CAIRO_ in macro prefix to HB_
[HB] Fix more casts
[HB][glib] Make glib unicode funcs static
Bug 592484 - invalid write in HB
[HB] Bug 593231 - < c99 compiler dislikes ValueRecord
[HB] Indent
[HB] Simplify counting
Fix stupid array growing bug
[HB] Allow enabling different debug facilities individually
[HB] Add GSUB/GPOS tracing
[HB] Rename DEBUG to TRACE where appropriate
[HB] Add TODO item
[HB] Fix bug in chain_context_lookup() invocations
[HB] Fix apply_lookup() loop
[HB] Add comment
[HB] Fix lookup_flag ignoring
[HB] Add point_index to get_contour_point()
[HB] Add glyph_metrics typedef
Add build system
Generate ChangeLog
Install library
Remove use of GINT16_FROM_BE
MSVC has no stdint.h
Build without glib
Update Makefile to build without glib
We don't really use gthread directly
Disable configure cache
Fix build without glib, again
Another try at build without glib
Cosmetic
Don't use zero-sized arrays
More MSVC fixes from Jonathan Kew
Add bunch of TODO items
[TODO] Remove obsolete item
[configure] Fix check for FreeType
Use the C linker, not C++ linker
Add check for not linking to libstdc++
[TODO] Add item for fixing buffer error handling
[Makefile] Install hb-unicode.h
Move unicode_funcs to buffer
Namespace MSVC defines in public header
Fix hb_be_uint16()
Add ICU glue
Start ft glue
Implement nil font functions
Add TODO item
Finish FT glue. Rough and untested
Fix array query API
Fix previous commit, ouch!
Minor
Another one
Define ARRAY_LENGTH
Add hb_language_t as well as language/script conversion to OT tags
Add script and language to buffer
Start filling hb_shape() in
Cosmetic
Rename [xy]_pos to [xy]_offset since we don't accumulate positions
Add hb_font_get_*
Include stdio.h if debugging
Fix MarkMark issue with ligid and components
Add default positioning to hb-shape
Add hb_ft_face_create_cached
Fix ref counting
Add TODO item
Initialize font->klass
Return 0 from get_glyph_nil
Cosmetic
Add debugging to object lifecycle
include errno.h
Fix warning
Cosmetic
Fix FT_Face generic finalizer
Minor.
Rename hb_buffer_get_len() to hb_buffer_get_length()
Fix FT_Face finalizer call
Add hb_ot_layout_position_finish()
Add _hb_buffer_add_output_glyphs() that takes codepoint_t*
[GSUB] More ligature/component fixing
Remove debug info that crept in
Change order of font and face for API consistency
Oops, wrong change
Handle shaping in non-native direction
Reverse buffer at the end if RTL
Remove done item
Remove obsolete TODO item
Fix sanitize
Add Mongolian variation selectors
Use autoconf FLEXIBLE_ARRAY_MEMBER when available
Fix warning
Another C++ strictness fix
Distribute autogen.sh
Make main.cc compile without glib
Add HB_DIRECTION_IS_FORWARD/BACKWARD
Explicitly track whether the buffer has positions
We'll have to link to libstdc++ if linking to ICU, so disable test for now
Add hb_unicode_get_*() functions
Protect against NULL funcs
Do mirroring
Direct unicode->get_mirroring directly
Add TrueType kern support
Refactor hb_shape a bit
Avoid overflow
Pass features down
Hook OpenType shaping up
Oops, add file.
Remove glibism!
Fallback to 'kern' if no GPOS applied
Revert "Fallback to 'kern' if no GPOS applied"
Indent
Fix compile with older FreeType
[TODO] Add kern/GPOS interaction
[GDEF] Fix bug in building synthetic GDEF
Use __attribute__((unused)) only with gcc 4 and later
Improve the alignment for NullPool
Make blob unlocking 64bit-safe
[ft] Check stream->read instead of stream->base
Cosmetic
Typo
Fix the mystery bug!
Fix leak when duplicating blob
Fix debug build
Fix warnings
Round instead of trunc
Remove ASSERT_SIZE_DATA
Add couple consts to operators
Fix Class operator return type
Cosmetic
Simplify Tag struct
Use a function template instead of struct template for Null
Remove stale TODO item
Improve comments
WIP
GNOME Bug 613015 - [HB] Does not sanitize Device tables referenced from ValueRecords
Remove unused macros
Move macros around
Minor
Rename macros
Remove unused macro
Use templates for defining int typess
Const correctness
Use templates for const char * casts
Convert NEXT() and ARRAY_AFTER() macros to templates
Remove ArrayAfter, use StructAfter in place
Rename const_array() to array() (overloaded)
Further simplify IntType struct defs
Improve comment
Add comment
Add comment
Add more comments
Cleanup de-const-casting during sanitize
Rename ConstCharP to CharP (overloaded now)
More cast simplification
Change header comment
Simplify Lookup sanitize
Cosmetic
Rename const_sub_array to sub_array since all consts are implicit now
Watch for overflow in Array sanitize
Sanitize shallow in Lookup since the generic SubLookup has no methods
Simplify Extension offset now that our int types have no alignment
Improve Subst/Pos SubTable access and sanitize
Make sure semicolon is expected after DEFINE_NULL_DATA()
Make casts more explicit
Avoid overflow in TableDirectory sanitize
Remove unnecessary casts
Add coment
Don't sanitize raw table data
Remove integrity check in Tag sanitize
Minor
Add comment
Cleanup ContextFormat3 sanitize
Check for (impossible) overflow
Minor cleanup of sanitize
More sanitize cleanup
Fail sanitize on major version mismatch
Cleanup Extension sanitize()
Remove unused macro
Convert the last set of cast macros to templates
Cosmetic
Add comment re bsearch effect on sanitize
Cleanup Extension lookups
Properly define separate structs for TTCHeader and TTCHeaderVersion1
Cleanup OpenTypeFontFile
[blob] Fallback to copying if mprotect() fails
When sanitizing, delay making writable
No need to keep blob in sanitize context
Fix compile warnings (HB_GNUC_UNUSED)
Remove unused parameter
More warning fixes
Zero glyph metrics before calling user callback
Add TODO
Remove GET_FOR_DATA macros
Add different casts from pointer and ref to avoid bugs
Remove lock_instance()
Typo
Allow get_table() to return NULL
Cleanup hb_face_create_for_data()
Remove use of flexible arrays
Rename Var to Obj
Fix Device::get_size() calculation
[object] Actually handle malloc() failure
Fix debug build
Fix build. Ouch!
[blob] Make debug code always available to the compiler
Minor
[object] Make debug code always available to the compiler
Fix compiler warning about value unused
[gsubgpos] Make debug code always available to the compiler
[sanitize] Make debug code always available to the compiler
Simplify trace code
Further simplify tracing
[apply] Use a context object to reduce number of parameters passed around
Rename
Rename apply_context -> context
Add const
Use const_cast
Fix bug in hb_language_from_string()
Minor
Use BCP47 private-use tags for OpenType tag language string mapping
Make sure mirroring is done in original direction
[gdef] Implement getting contour point
[gdef] Fix rounding
[gdef] Fix delta scale
More contour point use
Convert to uppercase in hb_ot_tag_from_language()
[sanitize] Make debug code always available to the compiler
Define HB_FUNC for portability to non-gcc
Rename HB_GNUC_UNUSED -> HB_UNUSED
[ft] Disallow getting the entire font data with tag=0
[GPOS] Speedup apply_value()
Whitespace
Remove unused method
Merge remote branch 'jrmuizel/master'
Mark a couple functions as inline
Cosmetic: Rename HB_LIKELY/HB_UNLIKELY to likely/unlikely
Comment new SFNT tags
[main] Recognize Apple SFNTs
Make internal method private
Remove the NEUTER macro, move code to a method
Remove SANITIZE2
Remove SANITIZE_BASE2
Remove SANITIZE_THIS3
Cosmetic
Remove SANITIZE_THIS2
Remove SANITIZE_OBJ
Rename SANITIZE_BASE to SANITIZE_WITH_BASE
Remove SANITIZE_THIS
Make _hb_sanitize_*() methods of the context object
Use function template for pass-thru argument
Make sanitize_depth variable automatic and not passed through function args
Add hb_trace_t
Remove trace from sanitize_shallow()
Remove SANITIZE_ARG_DEF and SANITIZE_ARG
I keep changing my mind about this
Minor
Move layout_context into apply_context
Move buffer into apply_context
Move context_length into apply_context
Port apply to use hb_trace_t
Remove APPLY_ARG_DEF and APPLY_ARG
Simplify chaining
Minor
Minor
Cosmetic
Remove SANITIZE_ARRAY
Rename check to check_range
Remove SANITIZE_MEM
Remove SANITIZE_WITH_BASE
Cleanup Value casts
Remove SANITIZE macro
Remove the last of SANITIZE macros: SANITIZE_SELF
Start cleaning up get_size()
Simplify DEFINE_NULL_DATA
Whitespace
Cleanup ASSERT_SIZE_VAR
Remove ASSERT_SIZE in favor of the safer DEFINE_SIZE_STATIC
Cleanup
Further cleanup of DEFINE_SIZE
Make StructAtOffset take a pointer
Remove unnecessary casts
Remove CastP completely
Further cleanup of sizeof
Fix check_struct to check min_size instead of sizeof
Simplify array access
Minor
Cleanup DEFINE_SIZE_VAR2
Change DEFINE_SIZE_VAR to DEFINE_SIZE_ARRAY
Remove unused macro
Simplify unions
Fix accessing tables from NULL pointer
Fix comment
Don't fail sanitize on NULL data
Fix tracing order
Fix awful confusion between lookup format and subtable format
Clean up NO_INDEX
Fix warning
Shrink NullPool now that we have accurate size tracking
Remove excess sub_format sanitize
Remove a few likely()'s
Sprinkle a few strategic likely()'s
Fix warnings
Simplify likely() implementation
Add CONST_FUNC annotation
Simplify PairSet
Remove obsolete friend
Fix comment
Rename a few files to be C++ sources
Use bit tricks for HB_DIRECTION_IS_*
Add buffer->allocate_lig_id()
Hide internal symbols
Add check for internal symbols
Add buffer->swap()
Add a few other buffer methods
Make HB_PRIVATE more useful
Improve check for internal symbols
Minor
Add a few more buffer convenience methods
Don't use variable-length-arrays
s/\<context\>/c/g
Remove POSITION() and CURPOSITION() macros
Fix lookahead matching. Oops!
Remove OUT_GLYPH() and OUT_INFO() macros
Remove IN_COMPONENT() macro
Remove the IN_LIGID() macro
Remove the IN_MASK() macro
Remove the IN_CLUSTER() macro
Remove the IN_GLYPH() macro
Remove IN_INFO() and IN_NEXTGLYPH() macros
Remove the IN_CURINFO() macro
Remove the IN_CURGLYPH() macro
Remove the unused BUFFER macro
Merge buffer->out_pos and buffer->out_length
Shortening buffer accessors: rename buffer->in_string to buffer->info
Shortening buffer accessors: rename buffer->out_string to buffer->out_info
Shortening buffer accessors: rename buffer->positions to buffer->pos
Shortening buffer accessors: rename buffer->in_length to buffer->len
Shortening buffer accessors: rename buffer->out_length to buffer->out_len
Shortening buffer accessors: rename buffer->in_pos to buffer->i
Update buffer docs
Minor
Handle malloc failture in the buffer
Add an inline version of hb_buffer_ensure()
Indent
Minor
Add LONGDATETIME
Add 'head' table
Fix scale issues
Change hb_feature_t to keep tag/int instead of string
Apply user features
Invert the mask logic
Update always-apply mask from 0xFFFF to 1
Add lookup_map
Add _hb_bit_storage()
Apply user features to ranges!
Write hb_face_create_for_data() in terms of hb_face_create_for_tables()
get_table() is allowed to return NULL. Use that to simplify code
Do alternate glyph selection!
Remove unused operator
Fix delta scale, again...
Fix alternate off-by-one
Fix alternate, again
Let hb_face_get_table() return NULL if table not found
Add Python wrapper from Martin Hosken
Add hb_ot_tag_to_script()
Fix feature mask setting
Add Unicode 5.2 scripts
Speed up feature mask setting
Don't allocate bits for features not available
Add hb_tag_from_string()
Update the Python module
Import Graphite shaping backend by Martin Hosken
Fix warnings
Fix test failing
Move main shaper code into hb_ot_shape()
Graphite also forces us to link to libstdc++ currently
Simple renames
Fix Makefile to install hb-ot-shape.h
Add hb-ot-shape.h, oops.
Add note
Cleanup bitmask allocation
Add ltra, ltrm, and rtla features
Add rtlm
Add note
Add a few more standard features
Move mirroring around a bit
Move all callback functions in a vtable structs
Make sure we initialize all callbacks upon creation
Minor
Fix struct initializers
Merge remote branch 'martin/master'
Revert "Merge remote branch 'martin/master'"
Cypriot is RTL
Disable Graphite as it crashes all over the place...
Fix loop
Add note about UTF-8 decoder
Allow disabling default features
Towards a mask allocator
Simplify mask allocation
Fix global feature handling
Further simplify mask allocator
Minor
Make feature sorting stable
Fix skipping variation-selectors
Followup fix for variation-selectors
Fix header tags
Add a test for header preprocessor guards
Fix header
Remove useless TODO
Use bsearch where applicable
Don't bother sorting, it's a safe font error if the array is not sorted
Fix 64bit issues with debug prints
Mozilla bug 580233 - check for zero-length record in hb sanitizer.
Remove fixed TODO item
Add arm build fix to TODO
Add TODO option
Don't use "operator ="
dos2unix
Header dep cleanup
De-C++ where possible
Prefer C linkage
Add TODO items
Towards separating bit allocation from shaping
Minor
Logically separate feature allocation from application
Add TODO
[GPOS] Fix div-by-zero
Fix NULL dereference
Speedup Device table delta computation for common cases
Add TODO item
Fix blob refcounting with insane SFNT table directories
Fix hb_ot_layout leak
Add test.c using public API
Remove unimplemented method hb_font_get_funcs()
Add TODO iteam
Fix stupid bug in bsearch cmp function!
Add comment re DejaVu Sans Mono having 'dflt' script
Improve cmp function parameter namings and casts
One fewer cmp() implementation...
Don't zero glyph advances in MarkToBase and similar lookups
Pedantic
Avoid div-by-zero, validate upem
Minor
Add getters for all setter APIs
Add is_mutable() functions
Add API comments
Add TODO item
Add hb_face_get_upem()
Update build system
Add Arabic/Syriac/N'ko shaping logic
Add internal hb_ot_shape_context_t
Move table_tag to hb_ot_shape_context_t
Rename setup_lookups()
Call hb_ot_shape_setup_lookups_complex()
Add XXX note
Rename
Simplify compiling lookups
Minor
Move some more code around
Minor
Logically separate feature collection
Flip the OT bit-allocation vs gsub/gpos inside-out
Add private hb_segment_properties_t
Add hb-ot-map-private.hh
Add hb-ot-shape-private.hh
Minor cleanup
Fix feature overriding
Add hb-ot-map.cc
Improve checks
Rename hb_mask_allocator_t to hb_ot_map_t
Enable 'rtlm' mirroring
Minor
More separation
Fix missing negation in unreachable code!
Fix infinite loop!
Update Arabic shaping table to Unicode 6.0.0.
More refactoring
Refactor, in a different direction
Add hb_ot_shape_plan_t
Add hb_ot_complex_shaper_t stuff and start hooking Arabic shaper up
Add hb_ot_shape_execute()
Clear masks before setting them up, not after!
Form clusters before setting masks
Merge clearing masks and setting global masks
Hookup Arabic shaper!
Fix Arabic shaper
Step the version up to 0.2 now that Arabic shaper is in
Fix stupid bug, oops
Cleanup TODO
Add TODO item
Set user masks after complex masks
Fix applying default-value for features
Make sure feature values don't leak out of their mask
Return early if mask is 0
Make sure boolean features always use value=1
Oops, actually set global mask
Massage mask setting a bit more
Fix blob leak
Divide get_metrics into get_advance and get_extents
Oops, remove extra mask setting that broke complex shaping
Remove obsolete TODO item
Fix segfault with Arabic combining marks
Fix Cursive positioning
Rewrite Cursive joining to act more like other pair lookups
Remove unused macro
Remove LONGTERMTODO item that I'll never fix
Implement vertical support in get_lig_carets()
Rename hb_ot_layout_get_lig_carets() to hb_ot_layout_get_ligature_carets()
Remove more pointless LONGTERMTODO items
Clarify cursive_chain (and change its sign)
Supposedly implement vertical support in GPOS
Remove trailing comma
Add hb_var_int_t
Get rid of the OpenType-specific internal buffer representation
Remove comment
Set component=0 for ligature glyph
Always allocate new ligature id
Move setting lig_id/component out of buffer and to the gsub code
Minor renaming
More removal of lig-id code from buffer
More lig-id cleanup
More cleanup
Remove unused function
WIP removing external synthesized GDEF support and implementing it internally
Rename lookup_flags to lookup_props since it's more than just flags
Simplify mark skipping logic
Move some more code around
Move code around
Move buffer var allocation local
Move things around some more
Fix unreachable-code warning
Remove another couple lines of dead code
Fix a few more "unreachable code" warnings
Minor code shuffling
Pedantic
Add comment
More "unreached code" warning fixes
Save general category and combining class in the buffer for reuse
Add TODO item
Add XXX marks
Add TODO item
Change HB_SCRIPT_MEITEI_MAYEK to HB_SCRIPT_MEETEI_MAYEK
Add Unicode 6.0 scripts
Add OpenType script tags for Unicode 5.2 and Unicode 6.0 scripts
Update Arabic joining table to include Mandaic
Move generated table to its own file
Clarify copyright notice
Remove email address from Copyright headers
Fix failing checks
Adjust pyx files to reflect change from int to hb_var_int_t
Bug 31965 - some GNU/Linux distributions lack icu.pc but have icu-config
Fix arabic shaping of LTR text
Rename original_direction to target_direction
Mozilla Bug 618592 - freeze on typekit
Disallow ligature substitutions replacing one glyph
Update 'head' table to OpenType 1.6
Rename TableDirectory to TableRecord as per OpenType 1.6
Rename remaining metrics uses to extents
Annotate the Arabic joining table with block information
Reroute Mandaic shaping through the Arabic shaper
Bug 32274 - classic mongolian shaper
Docs
Remove Graphite backend
Fix ICU detection
Remove unused realloc
Fix ChanContext backtrack matching with GPOS
Fix 'make distcheck'
Don't use the m4/ dir
Fix language extension matching
Add initial hb-view tool
Default background color shall either be white or transparent
Fix possible overflow
[hb-view] Link with -lm
[hb-view] Handle write_to_png errors
Let hb_shape() guess script and direction...
Add script to/from ISO 15924 tag support
Sort options for clarity
[hb-view] Support --features
[hb-view] Add --debug
[hb-view] Use cached hb-ft face creation
[hb-view] Rewrite --features parsing, with range support
[hb-view] setlocale (LC_ALL, "")
Disable 'cswh' by default except for Arabic shaper
Update TODO items
Add test directory
Assert int types
Remove warning message from public header file
A few more ASSERTs
Add few more paratheses to the HB_TAG macro
Add an in-tree test suite
Rename HB_TAG_STR() to HB_TAG_CHAR4()
Move macros around
Build fix
Make hb_tag_from_string(NULL) return HB_TAG_NONE
Make HB_TAG_CHAR4 private
Rename hb_category_t to hb_unicode_general_category_t
[teset] Test hb_script_t
Make hb_language_from_string("") return NULL language
[test] Test hb_language_t
Fold hb-language.[ch] into hb-common.[ch]
[test] Actually hook up hb_script_t tests
Minor
[TODO] Add API item
[TODO] Add item re hb_buffer_resize()
[TODO] Add item re hb_buffer_reset()
[test] Test hb-buffer.h
[TODO] Add item re script iso15924 functions
[test] Add todo items
Minor
Add hb_buffer_reset() and hb_buffer_set_length()
[test] Add more TODO items
Make hb_language_t typesafe
[TODO] Remove done items
Cosmetic
[TODO] Remove done items
[API] Remove hb_buffer_clear()
Remove hb_buffer_clear_positions(), add hb_ot_layout_position_start()
Add hb_script_from_string()
Mark internal buffer variables private
[TODO] Add new item
Move enum types to hb-common.h
Change buffer default properties to invalid
[API] Use ISO 15924 tags for hb_script_t
[API] Add hb_buffer_allocation_successful()
[API] Rename hb_buffer_add_glyph() to hb_buffer_add()
Cosmetic
unicode: Cleanup implementation
Remove verbose comments
[glib] Add two-way script conversion functions
[icu] Add two-way script conversion functions
[test] Rename test-types to test-common
[API] blob: move user_data before destroy()
[API] font: move user_data before destroy()
[test] Add todo items
[test] Add test for headers included from C and C++
Minor
[OT] Fix script to ot-script-tag conversion
[API] Remove hb_*_get_reference_count()
[TODO] Remove done items
[API] Rename hb_face_get_table() to hb_face_reference_table()
[API] Make hb_face_reference_table() return empty blob instead of NULL
[TODO] Remove done items
Rename hb-blob.c to hb-blob.cc in preparation of more changes
Rename all private sources and headers to C++ files
Move hb_reference_count_t from macros to inline methods
[icu] Remove big script switch(), rely on reverse-lookup
[API] Allow negative font x_scale/y_scale
[TODO] Remove finished items
Cleanup hb_refrence_count_t
Add ASSERT_STATIC_EXPR macro
Remove obsolete comment
[hb-view] Accept numbers in feature tag name
Update Copyright headers
Move hb_reference_count_t to hb-private.h
Add hb_object_header_t which is the common part of all objects
Further simplify object handling
Don't return in void function
Add TODO item
Replace simple macros with inline functions for better type safety
[API] Add hb_unicode_funcs_get_default()
Make buffer size growth start from 32 instead of 8
[TODO] Add hb-view items
Rename hb-view.c and test.c to .cc files
[API] Add hb_direction_from/to_string()
GNOME Bug 612402 - (hb-arm) HarfBuzz compilation fix for arm
[object] Add tracing support back in
[blob] Use HB_FUNC instead of __FUNCTION__
[object] Remove unnecessary use of macros
Add initial implementation of user_data to objects
Move code around
[API] Add _set/get_user_data() for all objects
[test/buffer] Test reverse() and reverse_clusters()
[test/buffer] Test reset(), set_length(), and set/get_unicode_data()
[test/buffer] Add test pre_alloc(); hangs in the buffer code right now
[buffer] More error handling
Fix possible but improbable overflow in hb_array_t
[test/buffer] Test pre_allocate() and allocation_successful()
Desable possibly lethal test on 64-bit machines
Add _hb_unsigned_int_mul_overflows
[TODO] Remove finished items
[API Remove hb_font_funcs_copy()
Add test suite infrastructure
[test/buffer] Add initial utf-8 tests
[test/buffer] Add more extensive UTF-8 test data from glib
[test/buffer] Add UTF-16 tests
[test/unicode] Use text fixture instead of static variables
[test/unicode] Test is/make_immutable()
[test/unicode] Add testing of all unicode properties
Minor
[test/unicode] Add log messages
ISO 15924 fixes
[icu] Make sure we return script UNKNOWN instead of INVALID
Minor
[test/buffer] Clean up testing
[test/unicode] Test Unicode 5.2+ but don't fail
[test/unicode] Port the _custom test to test all property setters
[test/unicode] Better test chainup
[test/unicode] Add script roundtrip tests for glib and ICU
[unicode] Make _get_parent() return _nil object instead of NULL
Cosmetic
[buffer] Fail in _create() if we cannot pre-allocate the requested size
[face] Return nil face if blob is inert
[API] Rename hb_blob_create_empty() to hb_blob_get_empty()
Cosmetic
[test/object] Add test for object lifecycle stuff
[object] Fix bug in get_user_data() implementation
Fix bug in map implementation
Fix bug in array growth implementation
Protect NULL in a couple places
[API] Make hb_font_create() take a face and reference it
Cosmetic
Add hb_mutex_free() and use it
Implement win32 thread-safety stuff
[blob] Implement sub_blob() in terms of create()
Refactor to keep hb-object-private.h and hb-open-type.h separate
Move Win32 thread-safety stuff to hb-object-private.h
[ft] Fix font->face handling
Move code around
Add hb_static_mutex_t
Make hb_mutex_*() macros take a pointer
Make array/map implementation more generic
Replace hb_map_t with hb_set_t which is more intuitive and flexible
Minor
Replace fixed-size feature_infos array with hb_array_t
Replace fixed-size feature_maps array with hb_array_t
Replace fixed-size lookup_maps array with hb_array_t
[TODO] Remove done items
Move code around
Use hb_array_t for hb_language_t mapping
Add hb_threadsafe_set_t
Use threadsafe set implementation for hb_language lookups
Shrink code
Make user_data access threadsafe
[buffer] Remove wrong optimization
Fix build with older glib
Add AC_CANONICAL_HOST
Remove win32-dll libtool flag
Add disable-static libtool flag
[API] Add version macros and functions
[API] Add hb_language_get_default()
Add note re deadlocks
Remove unused hb_blob_try_writable_inplace()
[TODO] Update
Add -Bsymbolic-functions to linker flags
[API] Simplify blob API, remove lock
[test] Test blob API
[test/blob] Add create_sub_blob()
[test/blob] Fix bug in test
Add DOAP file
[test/object] Test user_data with destroy() callback that calls user_data
[test] Always initialize gthread such that our mutex() stuff is tested
Fix set implementation to be truly threadsafe even with destroy() callbacks
Remove duplicate atomic_int implementation
Fix build without mutex
Add hb_font_make/is_immutable()
[API] Remove broken-by-design hb_font_unset_funcs()
[font] Fix internal sign of x/y_scale
[API] Add hb_font_create_sub_font() and hb_font_get_parent()
[API] Remove font_funcs func getter functions
Whitespace
[API] Pass down closure user_data to font funcs
Make default font-funcs chain-up to the parent
Remove hb_ot_layout_context_t, simplify code
Minor
[font] Do user-space conversion when chaining up to parent font
[API] Change signature of get_contour_point and get_kerning ffuncs
Minor
Add maxp table
Minor
[unicode] Simplify method setting
Plug leaks
Plug more leaks
Minor
[API] Add HB_UNTAG()
[API] Add hb_*_get_empty() for all objects
[TODO] Update
[test] Add tests for _get_empty() funcs
Remove unused hb_mutex_trylock()
Streamline mutex stuff
Free static mutex'es
Fix compile with no mutex available
Minor
Use constructor/destructor for hb_ot_shape_plan_t
Remove hb_static_threadsafe_set_t
Remove unused hb_set_t
[API] Add hb_ot_layout_substitute_start/finish()
[API] Rename hb_face_create_for_data() to hb_face_create()
[test/font] Start adding tests for hb-font.h
[test/font] Add test_font_properties()
[test/font] Test get_face() / get_parent()
[test/font] More get_empty() tests
[test/font] More tests
[test/font] More tests
[API] Remove const from font user_data
[API] Pass face to get_table()
[test/font] Test more
[test/font] Test empty funcs
[test/font] Test font_funcs subclassing
Fix font subclass chainup
[TODO] Update
[object] Make object inert during destruction
[test/shape] Add simplest test for hb_shape()
[test/blob] Use MAP_ANON instead of MAP_ANONYMOUS
[test] Add test-shape.c. Oops
Rename get_kernings() arguments from first/second_glyph to left/right_glyph
[test/shape] Check shape output
[API] Make get_glyph() callback return a boolean
Finish off previous change
[API] Add hb_face_make/is_immutable()
[TODO] Add items
[test/test-ot-tag] Test hb-ot-tag.h, fix many bugs
[API] Add HB_LANGUAGE_INVALID
[test/ot-tag] More tests
[test/buffer] Add more tests for nil buffer
Minor
[hb-view] No need to allocate an extra glyph item at the end
[hb-view] Start work on vertical support
Remove unnecessary TODO item
Cosmetic
Check for mmap()
Minor
[API] Add support for vertical text
[API] Vertical support, take 2
Minor
Cosmetic
Vertical: Adjust origin in glyph_extents() and glyph_contour_point()
[hb-view] Add --annotate
More vertical
[Vertical] GPOS is always done with horizontal origin
[Vertical] Do fallback origin calculation
[Vertical] Fix GPOS y-advance direction
[Vertical] GPOS x/y advance adjustments only apply in hori/vert respectively
[TODO] Update
[Vertical] fix vertical gpos
[test] Update to API changes
[API] One last font-funcs API change
[TODO] Add item
Update README, etc
Add libtool versioning
[test/version] Test hb-version.h
[test] Add test-symbols that checks API symbol text coverage
[test] Switch to automake-based test-runner
[test/unicode] Fix double-free
Hide internal symbols
[test] Rename test-symbols to check-symbols
[test-common] Test hb_direction_to_string()
Release 0.6.0. First official tarball release!
Bump version to 0.7.0 to open up for development
Minor
[test] Rename valgrind-log to log-vaglring.txt
[configure] Generate sha256sum and GPG-sign it
Add check-includes.sh
Minor
[TODO] Add item
Minor
[OT] Separate map_builder from the actual map
Shrink code size
Fixed inifinite loop introduced in 7403e055cd1463f
Fix TTC header handling
[hb-view] Add --face-index to choose a face in a TrueType Collection
[Vertical] Apply vertical features
[TODO] New items
Minor rename
Update to ArabicShaping-6.1.0d2.txt
Minor
[Indic] Start an Indic shaper
Minor
More Indic data shuffling
GNOME Bug 652227 - Unconditional use of stdint.h
Cosmetic
Remove extra semicolon
Fix compiler warnings with -pedantic
Change a couple strstr() to strchr()
Minor compiler warning fixes
Better categorize Indic character classes
[indic] Add syllable recognition state machine
[Indic] Some of the basic features are global; Mark them so
[Indic] Add a table of consonant positions
[Indic] Define indic_position_t
[test] Add Indic tests from harfbuzz.old
[Indic] Generate a single data table instead of multiple ones
[Indic] Optimize Indic table storage
[test] Restructure shape test data a bit
[test] Remove disabled code
Minor
Minor
[test] Name tests after their input string
[test-shape-complex] Print out expected and actual glyphstrings upon failure
[test-shape-complex] Remove the greek tests
[Indic] Well, at least finding syllables works now :)
Minor
Fix reverse_range() position loop
Add todo
Shuffle code around
Enable applying GSUB/GPOS features in multiple segments
Refactor some code common to GSUB and GPOS
Update copyright headers
Minor, use function typedefs
Shuffle code around, remove shape_plan from complex shapers
Minor
More code shuffling
Humm, undo some shuffling
More code generation through preprocessor
[API] Add compose() and decompose() unicode funcs, rename other ones
Let shapers decide when to apply ccmp and locl
Distribute hb-ot-shape-complex-indic-machine.rl
[test] Work around glib <= 2.30 API
Minor
[glib] Add compose() and decompose() implementations with fallback
[glib] Use g_unicode_script_to/from_iso15924() if available
Minor
Add tests for compose()/decompose()
[icu] Implement compose()/decompose()
Minor
Rename HB_UNICODE_GENERAL_CATEGORY_COMBINING_MARK to HB_UNICODE_GENERAL_CATEGORY_SPACING_MARK
When forming clusters, participate all mark types
Fix cluster calculation for non-LTR text
Include variation-selectors in cluster calculation
Towards normalization
Add _hb_buffer_output_glyph() and _hb_buffer_skip_glyph()
Form clusters before ensuring native direciton
Remove stale comment
s/COMBINING_MARK/SPACING_MARK/ here too. Oops!
Towards normalization
Only form clusters if we are reversing
No need to handle variation-selectors seperately, they are GC=Mn
Remove intermittent_glyph()
More kicking
Add prefer_decomposed() complex-shaper callback
Document normalization design
Fix decompose() implementations to work with non-starter non-composables
More normalization kick
Move buffer methods into the object
Decomposition works now!
Implement Unicode Canonical Reordering Algorithm
Handle singleton decompositions
Implement the Unicode Canonical Composition algorithm
Keep Unicode props updated as we go so we avoid a scan later
Minor
Shrink space used for ligature ids
Move code around
Start cleaning up buffer var allocation
Add internal API for buffer var allocation
Minor, fix leak from my previous refactorings
Add sugar syntax for debug messages
Use variadic macros for debugging
Streamline debugging infrastructure even more
Move more code around
Formalize buffer var allocations
Oops. This should have gone into the previous commit
Register buffer vars in Indic shaper
Minor
Minor
[Indic] Apply Indic features
Minor
Bug 39686 - Add '-no-undefined' to libharfbuzz LDFLAGS
[Indic] Reorder matras
[Indic] Categorize Ra in scripts that have Reph
Minor
[Indic] Handle initial Ra+Halant in scripts that support Reph
[test] Fix problem with N'ko test direction
Minor
[OT] Save chosen script tag
[Indic] For old-style Indic tables, move Halant around
Cosmetic
Minor
Un-Ra U+09F1. According to the test suite this is correct.
[Indic] Suppress reph formation upon joiners
[Indic] Support ZWJ/ZWNJ
[Indic] Fix reph inhibition logic
[Indic] Ra is a consonant too
[Indic] Handle Reph when determining base consonant
[Indic] Add Final Reordering rules into comments
[Indic] Fix ZWJ/ZWNJ application
Cosmetic
[Indic] Stop looking for base upon seeing joiners
[Indic] Disable CJCT-disabling logic
Use missing script for calling ragel
Bug 39702 - configure check for ragel
Add mingw32 support
Bug 39763 - autogen.sh should check pkg-config availability
Unbreak icu-config results a bit
Don't use icu-config when cross-compiling
Minor
Fix build with glib but not freetype
Minor
Fix fallback shaping
[API] Add hb_face_get_blob()
Minor
Add internal hb_buffer_t::get_scratch_buffer()
Minor
Add draft experimental Uniscribe backend
Fix typo
Minor
Minor
Fix out-of-tree build
More out-of-tree build fixes
More build fixes
Zero map objects
Remove C++ guards from source files
Make test.cc do something more useful
[API] Changes to main shape API
Change hb_shape() API back to what it was, add hb_shape_full()
Change hb_shape() API back to what it was, add hb_shape_full()
Fix env parsing code
Free all static memory upon exit
Minor
Add hb_shape_list_shapers()
Fix check on OS X sh
Skip tests by returning 77
Start implementing the 'name' table
[uniscribe] Make font selection work
[uniscribe] Use font size directly
Fix name-table lookup
[buffer] Accept -1 for text_length and item_length
[glib] Protect against invalid characters
[uniscribe] Fix shaper
Minor
[uniscribe] Fix cluster calculation
[test] test-object is not FreeType-specific, move it to the right place
Fix shaper_list manipulation, aaaaaaaaaaaaargh
[uniscribe] Fix blob lifecycles
Minor
Fix shaper ordering logic
Rename get_table to reference_table in all API
[API] Sort out get_blob API
Fix build
[uniscribe] Cleanup backend
Minor
[FT] Adapt to new face API
[buffer] Make API take signed int length
[API] Make set_user_data() functions take a replace parameter
Fix build again
[uniscribe] Unbreak
Minor
[API] Add hb_ft_font_set_funcs(), remove hb_ft_get_font_funcs()
[FT] Don't make font immutable
Add fallback shaper
Minor
Fix warnings with old glib
[test/shape-complex] Print cluster and position info in --verbose
[uniscribe] Remove zerowidth glyphs from output
Move hb-view into util/
[util] Port hb-view to GOption
Reformat
Fix const correctness in the API
[util] Add hb-shape --shapers
Fix charset conversion
Implement hb_ft_font_get_face
Add uniscribe font getters
Refactor hb-view code
Minor
Fix missing return
Start adding gobject-introspection support
Apply 'locl' with 'ccmp' in Arabic shaper
[ft] FT_Select_Charmap() when we create face
Minor
Pre-allocate buffers when adding string
Fix falloffs of the GOption conversion
[ft] FT_Get_Advance() for advance-width callbacks
Rename table files from eg maxp-private.hh to maxp-table.hh
Add hhea-table support
Fix name-table sanitize
Do (nothing for) hmtx sanitize
Remove the pre_allocate argument from hb_buffer_create()
[API] Add hb_font_set_funcs_data()
Flesh out tt funcs a bit
Add gobject enum support, but disabled for now
Add a constructor for hb_prealloced_array_t
Minor
Add graphite2 integration from Martin Hosken
[graphite] Remove hb_graphite2_feature_check()
[graphite] Minor
[uniscribe] Minor
[configure] Fix graphite bits
Minor
[graphite] Rewrite properly
Add hb-ot-hmtx-table.hh
Fix make distcheck
Reorder combining-class to better suit Arabic shadda mark-mark positioning
[graphite2] Bail if grface is NULL
[API] Make all _from_string() functions take a len parameter
[graphite] Only pass the first part language tag to graphite
Minor
Add buffer->replace_glyphs()
[graphite] Use buffer->replace_glyphs()
Minor
[graphite2] Chop a few more lines
Minor
[graphite] Don't preload glyphs
Pass through unknown ISO 639-3 language tags to OpenType engine
Refine Indic scripts, following Martin Hosken's recommendation
[util] Further refactor option parsing
[util] Move code around
Minor
[util] Move code around
[util] Simplify more
More reshuffling
[util] Refactor hb-view completely
Fix test
Minor
[hb-view] Make print to stdout work in Windows
Minor
Fix binary stdin/stdout io in Windows
Minor
Always shape at size=upem
Move code around
Fix reading text from stdin
Minor
Minor
TODO items
Minor
[util] Fix hb-view crash with bogus font
Cosmetic
Fix "[util] Fix hb-view crash with bogus font."
Fix Linux build when io.h is available
[util] Move font-size into view-options
[uniscribe] Various improvements
[util] If no text is provided, simply call cairo_show_glyphs()
Minor
[util] Add hb-shape utility
Fix dist
Really fix build this time
Minor
[util] Rename --output to --output_file, and --format to --output-format
[util] Account for line-space in surface size
[graphite] Add note about graphite shaker brokenness
Rewrite ICU detection code with in-house macros
[util] Add hb-diff
Whitespace
[util] Fix option parsing
hb-shape: In --no-glyph-names, output glyph number directly
Fix possible leaks
Minor
[util] s/%d/%u/ when printing glyph ids and clusters
Fix GSUB lookuptype 1 subtype 1 delta wrapping
Add TODO item
Add comments
Make test-c.c actually use hb
[util] Add --list-shapers to hb-view and hb-shape
Fix infinite loop in normalization code with variation selectors
Fix intrin.h b0rkage with older MSVC
Minor
Allow space in one more place when parsing features
[icu] Remove glib-ism
Disable gtk-doc macro
Require glib >= 2.16 for the gobject option
Avoid enum trailing commas
[GSUB/GPOS] Fix mark skip indexing issues
Minor
Refactor mark skipping
Fix mark skipping regression
Further mark skippy fixes from Jonathan Kew
Refactor the two remaining uses of _hb_ot_layout_skip_mark()
Fix more possible buffer overruns
Fix OOB in replace_glyph()
Add test for bug in ICU decompose
Replace u_strlen() with u_countChar32()
[icu] Use U_FAILURE
[util] Add --help-features
[test] Add two Indic test cases from Bernard Massot
Fix OOB in hb-shape
[hb-shape] Add --show-text and --show-unicode options
[hb-shape] Add --show-line-num
[hb-diff] Clean up
Remove src/test.cc
Rename test/ to test/api/
Minor
Start adding new shaping test suite together
[test/shaping] Add hb-update-manifests
More Indic tests from Pravin
[hb-shape] Change glyphstring brackets from </> to [/]
Ignore AUTHORS also
[test/shaping] Add hb-read-manifest
[test/shaping] Add hb-unicode-prettyname
[test] Make hb-unicode-prettyname take a --stdin option
Recognize more characters
Minor
Add hb-unicode-decode
Move hb-diff to test/shaping/
Fix
[test/shaping] Add some Indic test data for the new test suite
Minor
Minor
Move
Add hb-diff-filter-failures
[hb-shape] Add parantheses around --show-text output
Add hb-unicode-encode
Remove test-shape-complex
Move most testing logic into hb_test_tools.py
Make test tools interactive
Fix Unicode encoding issue
Import test data from late test-shape-complex
Add Tamil test data from Muguntharaj Subramanian
Add Punjabi tests from test-shape-complex also
Add final residues from test-shape-complex
Port hb-manifest-read to Python
Misc fixes
Correctly print out Unicode strings
[util] Make clusters work with char offset instead of UTF-8 offset
Ignore Broken Pipe errors
Port hb-manifest-update to Python
Cleanup manifest code
Speed up colorless diff
Distribute testing tools
Cleanup
More shoveling around
Fallback to Latin script if the font has no other usable scripts
Allow --color=html in hb-diff
Remove newline
Also ignore "ChangeLog" in manifests
Add Devanagari test from Tom Hacohen
Add a couple Thai test cases from Thep
Add a few more tests
Minor
Fix check-header-guards on OS X
Make checks more OS X friendly
Update git.mk to new upstream
Minor error handling
Add test case from https://bugzilla.mozilla.org/show_bug.cgi?id=714067
Reorder Hebrew combining classes for better rendering
Followup: Reorder Hebrew combining classes for better rendering
Minor
Allow disabling multi-threaded support
Add hb-warning.cc. Oops!
Remove unused hb_atomic_int_set()
Add support for atomic int and mutex on Apple systems
Fix atomic-int op on Apple
Fix cluster formation in Indic
Add Hebrew diacritics test cases
Minor doc fixes
Typo
Update Indic table to Unicode 6.1 data
Use generic shaper for Buhid
Whitespace
Lydian and Kharoshthi are right-to-left
Add Unicode 6.1.0 scripts
Route three Unicode 6.1 scripts through Indic shaper
Separate Unicode 3.1 and Unicode 3.2 additions
Make src tests pass again
More Unicode script age annotation, and a couple more RTL scripts
Minor
More sorting by Unicode version
Move code around
More moving code around
Add normalize mode
Add Hangul test case
Flip logic around
Bring normalization algorithm closer to the spec
Implement normalization mode HB_OT_SHAPE_NORMALIZATION_MODE_COMPOSED_FULL
Add simple Hangul shaper that recomposes Jamo when feasible
Move code around, in prep for Thai/Lao shaper
Move around
Add Thai test case for SARA AM decomposition
Minor
Add Thai shaper that does SARA AM decomposition / reordering
Generate fallback Arabic shaping table
Do Arabic fallback shaping
Implement Arabic fallback shaping mandatory ligatures
Minor
In Arabic fallback shaping, check that the font has glyph for new char
Fix build with some compilers
Fix shape to presentation forms font check
Don't create hb_apply_context_t per glyph!
Fix diff tool
Add Hangul test
Update TODO
[hangul] Apply *jmo features to all Hangul chars
Adjust TODO
Fix left-matra positioning in Indic
Add Mongolian test case
Minor
Fix bug with not setting Unicode props of the first character
Minor
Make it an error to include non-top-level headers
Add names to enums
Hide backend-specific shape functions
Fix hb-view surface size calc for vertical text
Minor
Make HB_DIRECTION_INVALID be zero
Minor
Remove public enum names again
Add HB_DIRECTION_IS_VALID
Add assert
Minor
Move code around
Minor
Add comment
Add Japanese test data from Adobe's Kazuraki font ligatures
Apply 'liga' for vertical writing mode too
Make page progression be right to left for vertical text
Always use cairo_show_text_glyphs()
Add --utf8-clusters
Rewrite ragel expression to better match the one on MS spec
Fix ragel regexp in vowel-based syllable
Add another Thai test
Fix leak in graphite
Minor note re Graphite
Make font immutable in hb_shape()
Minor
Add GSUB "would_apply" API
Minor matra renumbering
Add Indic inspection tool
Add Coverage iterators
Add "closure" operation stubs to GSUB
Minor refactoring
Minor
Fix Coverage iters
Flesh out closure() for GSUB
Implement closure() for Context and ChainContext lookups
Add map->substitute_closure()
Minor
Improve clustering
Rename hb_glyph_map_t to hb_set_t
Update copyright headers
Add hb_set_t
Make closure() return void
Add a few more set operations
Add test caes for a minority language using Bengali
Minor
Minor
Add hb_ot_shape_glyphs_closure()
Minor
Fix warning and build issues
More tests
Make hb-diff faster
Cleanup diff
Add hb-diff-colorize
Make hb-diff-filter-failtures retain all test info for failed tests
Add hb-diff-stat
Use groupby()
Add N-gram generator
Add hb-diff-ngrams
[indic] Apply rakaar forms
[indic] Apply Indic features in order
Minor
[indic] Better Reph matching
Minor
Minor
[indic] Keep the syllable modifier marks to the right
Replace zerowidth invisible chars with a zero-advance space glyph
[Indic] Keep Vedic signs at the right too
[Indic] Make sure Reph jumps over all matras to the right
[Indic] Add joiner test cases for Devanagari
[Indic] Categorize Anudatta
[Indic] Improve matra vs consonant ordering
[Indic] Make room for more reordering positions
Minor
Combine lig_id and lig_comp into one byte, to free up one for Indic
[Indic] Towards multi-cluster syllables and final reordering
[Indic] Don't give up syllable parsing upon junk
Fix Uniscribe clusters with multiple items
[Indic] Don't return for long syllables. Just not sort.
[Indic] Adjust base after sorting
[Indic] Increase max syllable length
[Indic] Don't form Reph is Ra is the only consonant in the syllable
[Indic] Simplify Reph logic
[Indic] Handle Vowel syllables
[Indic] Minor
[Indic] Treat the standalone cluster case reusing the consonant logic
[Indic] Reorder left matras to be closer to base
Minor
[Indic] Do Reph repositioning in final reordering like the spec says
[Indic] Add tricky reordering test cases
[Indic] Improve Left Matra repositioning
[Indic] Don't clear the mask for Reph
[Indic] Reorder Reph to before the Halant after Matras
[Indic] Add test for matra group
[Indic] Do clustering like Uniscribe does
[Indic] Add note re Uniscribe clusters
[Indic] Add Ra back for scripts without Reph
[Indic] Towards better Reph positioning
Better trace message support infrastructure
Minor
More massaging trace messaging
Beautify debug output
Code reshuffling
Minor
Annotate SANITIZE return values
/Minor/
Add return annotation for APPLY
Minor
Only printout class name in tracing, if one is available
Only print class name in debug output if there's one available
Finish off debug output beautification
More beauty in debug output!
Some more...
Minor
Make APPLY debug output print current index and codepoint
[Indic] Fix bitops typo!
[Indic] Disable conjuncts when a ZWJ happens
[Indic] Move syllable tracking from Indic to generic layer
[Indic] Fix state machine to backtrack
[Indic] Apply Reph mask to all POS_REPH glyphs
[GSUB/GPOS] Check all glyph masks when matching input
[Indic] Add test for Left Matra with Halant
Minor
[Indic] Fix Left Matra + Halant reordering
[Indic] Add #define UNISCRIBE_BUG_COMPATIBLE 1
[Indic] Add runtime Uniscribe bug compatibility mode!
[Indic] Add example of different Uniscribe behavior
[Indic] Implement Uniscribe Reph+Matra+Halant bug feature
[Indic] Don't use syllable serial value 0
[GSUB/GPOS] Fix wrong buffer access in backward skippy mask matching
[GSUB/GPOS/Indic] Apply GSUB/GPOS within syllables only
[Indic] Treat U+0951..U+0954 all similar to U+0952
[Indic] Fix U+0952 and similar classification to match Uniscribe
[Indic] Allow two Nuktas per consonant
[Indic] Allow multiple Consonants in Vowel/NBSP syllables
Minor
[Indic] Refactoring
[Indic] Add tests for dottedcircle
[Indic] Add Uniscribe bug feature for dotted circle
[Indic] Refactor for the arrival of 'init' feature
[Indic] Apply 'init' feature for Bengali
[Indic] Start categorizing Reph per script
[Indic] Position Bengali Reph before matras
[Indic] Disambiguate sub vs post vs above matras
[Indic] Unbreak Devanagari
Fix compiler warnings
[Indic] Add more Malayalam tests
[test] Make tool usage easier by not requiring "--stdin"
Fix compiler warnings
[util] Change default font size of hb-view to 256
[util] Make tools default to stdin if no text is provided
Minor
[util] Make hb-view print out Unicode art if stdout is a terminal
Reduce default margin
[util] Set ansi color only on color change
Remove ioctl checks
Minor
[GSUB/GPOS] Remove context_length
Minor
Add accessort to buffer for current info, current pos, and prev info
Minor
Fix warnings
Fix hb_face_set_index()
Fix more unused-var warnings
Fix more warnings
Revert "[Indic] Refactoring"
Refactor
Minor
[Indic] Apply vatu feature after cjct
[util] Refactor to accommodate for upcoming new tool
[util] Add hb-ot-shape-closure tool
Update TODO
Move atomic ops into their own header
Prefer native atomic/mutex ops to glib's
Don't use min/max as function names
Fix type conflicts on Windows without glib
Add hb_atomic_int_set() again
Minor
Implement hb_atomic_int_set() for OS X
Add a lock-free cache type for int->int functions
Add CJK Compatibility Ideographs tests
Fix substitution glyph class propagation
Add Arabic diacritics tests
Update TODO
Fix hb_atomic_int_set() implementation for HB_NO_MT
Minor
Add set symmetric difference
Add set iterator
[util] Add hidden --shaper that is equivalent of --shapers
Fix Windows atomic get/set
Minor
Don't use atomic ops in hb_cache_t
Cleanup atomic ops on OS X
Warn if no Unicode functions implementation is found
Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name()
Add Myanmar test case
Minor Malayalam test case
Remove hb_atomic_int_set/get()
Remove unused variable
Remove tab character like other "zero-width" characters
[util] Make hb-shape continue shaping other lines if shapers failed
[util] Minor
Minor
Remove const from ref_count.ref_count
Remove comma at the end of enum
Add --verbose to hb-shape
s/script-punjabi/script-gurmukhi/
Fix warnings
Check for atexit()
Remove constructor from hb_prealloced_array_t
Better hide nil objects and make them const
Remove static initializers from indic
Add a mutex to object header
Add gcc implementation for atomic ops
Add gcc intrinsics implementations for atomic and mutex
Add atomic-pointer functions
Implement lock-free hb_language_t
Undo default unicode-funcs to avoid static initializer again
Make hb-ft static-initializer free
Make hb-view err if all shapers failed
Remove last static initializer
Shuffle
Add configure tests for Intel atomic intrinsics
Fix inert buffer set_length() with zero
Cleanup TRUE/FALSE vs true/false
Disable Intel atomic ops on mingw32
Remove unused hb_static_mutex_t
Don't link to libstdc++
Add macros to check that types are POD
Add ASSERT_POD for most objects
Enabled ICU again
Fix ASSERT_POD on clang
Minor
Fix warnings
Fix warnings produced by clang analyzer
Fix clang warning with NO_MT path
Fix alignment-requirement missmatch
Add note re _NullPool
Make Uniscribe backend respect selected script
Override direction in Uniscribe backend
Unbreak Uniscribe
Really fix override-direction in Uniscribe
Fix Uniscribe clusters with direction-overriden Arabic
Whitespace
Fix regressions introduced by sed. Ouch!
Remove zero-width chars in the fallback shaper too
Remove unused code
Fix Uniscribe charset matching
Increase Uniscribe MAX_ITEMS
Minor
Minor, use next_glyph()
Merge clusters when ligating
When merging clusters, extend the end
Clear output buffer before calling GSUB pause functions
Extend clusters backwards, into the out-buffer too
Extend clusters backward in out-buffer
Extend end when merging clusters in out-buffer
Extend into main buffer if extension hit end of out-buffer merging clusters
Minor
Use merge_clusters when forming Unicode clusters
Use merge_clusters instead of open-coding
Minor
Merge clusters during normalization
Remove done TODO items
Minor
Add test for static initializers and other C++ stuff
Minor
Don't use replace_glyphs_be for MultipleSubst
Remove unused buffer->replace_glyphs_be16
Set lig_comp for MultipleSubst components
In MarkBase attachment, only attach to first of a MultipleSubst sequence
Minor
Minor. Hide _hb_ot_layout_get_glyph_property()
Minor
Use linear search for small counts
Minor
Micro-optimize
Fix cache implementation
Minor
Minor
Add set add_coverage() to Coverage()
Match input before backtrack
Add fast-path to GSUB to check coverage
Add fast-path for GPOS too
Add sanitize() logic for fast-paths
Minor
Oops!
More Oops! Fix fast-path with sub-type==0
Ugh
Add hb_object_lock/unlock()
Minor
Add TODO item
Flesh out gobject-introspection stuff a bit
Make source more digestable for gobject-introspection
g_thread_init() is deprecated
GStaticMutex is deprecated
Minor
Disable introspection again
Use octal-escaped UTF-8 characters instead of plain text
Fix check for Intel atomic ops
Add TODO item
Minor
Minor
Towards templatizing common Lookup types
Update git.mk to upstream
Fix build with no Unicode funcs implementations provided
Bump WINNT version requested from 500 to 600
Revert "Towards templatizing common Lookup types"
[ft] Use unfitted kerning if x_ppem is zero
[ft] Disable ppem setting
Fix _InterlockedCompareExchangePointer on x86
Minor
Make hb_in_range() static
Check for exported weak symbols
Don't export inline methods
Allow overriding HB_BEGIN_DECLS / HB_END_DECLS
Make sure HB_BEGIN_DECLS / HB_END_DECLS is only used in public headers
Add -Wcast-align
Minor
Further simplify atomic ops on Visual Studio
[Indic] Apply Above Forms
[GSUB] Allow 1-to-1 ligature substitutions!
[Indic] Adjust position for split matras
Split matras without a Unicode decomposition
[Indic] Categorize Khmer consonants
[Indic] Reorder virama only for old Indic spec
Minor
Minor
[Indic] Minor
[Indic] Apply 'pref' to pre-base reodering Ra
[Indic] Implement After-Main Reph positioning
[Indic] Rename
[Indic] Start implementing pre-base reordering
[Indic] Rename
[Indic] Reoder pre-base reordering Ra
[Indic] Categorize Khmer Ro
[GSUB/GDEF] Guess glyph classes after substitution only if no GDEF
[Indic] Recognizer Register Shifter marks
[Indic] Recognize pre-base reordering Ra anywhere in the syllable
[Indic] Categorize other Khmer marks
Allow complex shapers overriding common features
[Indic] Disable 'kern' in Uniscribe bug compatibility mode
Minor
[test/arabic] Add Arabic tests for mark skipping
Fix MarkAttachmentType matching
[Indic] Apply presentation-forms features all at once
[Indic] Move Halant with after-base consonants
[Indic] Add a separate Coeng class
[Indic] Recategorize Khmer coeng sign as a separate category OT_Coeng
[Indic] Position final subjoined consonants (and vowels) after matras
[Indic] Apply 'cfar' for Khmer
[Indic] Minor
[Indic] Treat Khmer Register Shifters more like Nuktas
[Indic] For scripts without Half forms, always choose first consonant as base
[Indic] Minor
Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs
[Indic] Better categorize Register Shifters and Khmer Various signs
[Indic] Position Khmer Robat
[Indic] Unbreak Tamil
[Indic] Minor
[Indic] Hopefully minor!
[Indic] Minor
[Indic] Streamline halant/joiner in grammar
[Indic] Allow halant group in Vowel and placeholder syllables
[Indic] Allow joiners before matras
[Indic] Fix out-of-bounds array access
Leave one extra item at the end of buffer allocation
[Indic] Fix Matra reordering when base is at end of syllable
[Indic] Minor
[Indic] Treat Register Shifters like Nukta
Apply Tibetan (global) features.
[Indic/Unicode] Decompose Sinhala split matras the way Uniscribe likes
[Indic] Implement Sinhala "Al Lakuna" Reph behavior
[Indic] Minor
[Indic] In final reordering, find base, even if it disappeared
[Indic] Allow joiners on both sides of Halant at the same time
[Indic] Accept a forced Rakar sequence at the end of syllable
[Indic] Disallow decomposition of a couple characters
[test] Ignore tests with DOTTED CIRCLE in the output
[Indic] Start refactoring different matra positions per script
[Indic] Minor
[Indic] Minor refactoring
[Indic] More refactoring
[Indic] Implement per-script matra positioning
Refactor / finish would_apply() operation
Add src/test-would-substitute tool
[TODO] Minor
[GSUB] Fix would_apply() for LigatureSubst
[Indic] Lookup consonant position in the font
[Indic] Better position U+0CD5
[Indic] Add failing test for Kannada
[Indic] Apply 'akhn' globally
[Indic] Unbreak Khmer
Print line number during return when tracing
[buffer] Make sure out_info = info during GPOS
Minor
[Indic] Recategorize GURMUKHI ADDAK
[Indic] Recategorize some Kannada right matras
Minor
[Indic] Unbreak old scriptures
[Indic] Apply 'cjct' globally
[Indic] Don't let ZWNJ at the end of syllable affect base search
[Indic] Implement reph positioning step 5
[Indic] Minor
[GPOS] Don't zero mark advances
[Indic] Better check for applying 'init'
[Indic] Break syllables at Halant,ZWNJ
[Indic] Minor!
[Indic] Simplify Uniscribe cluster emulation
[Indic] Don't split U+0AC9
[Indic] Form Telugu Reph out of Ra,Virama,ZWJ
Fix compiler warnings
[Indic] Don't attach SM/VD to other characters
[Indic] Fix base search in final_reordering
[Indic] Reposition Oriya Candrabindu
[Indic] Improve Reph AfterMain positioning
[Indic] Allow a ZWNJ after SM's
[Uniscribe] Fix script fallback
[Indic] Recompose Bengali Ya,Nukta
[Indic] Stop searching for base if a post form is found before below form
Add a test case
[Indic] Add Sinhala tests
[Indic] Add extensive Sinhala tests
[Indic] Merge in Malayalam tests
[Indic] Update clusters for left-matra even if matra didn't move
[Indic] Merge clusters before sorting
[Indic] Further streamline cluster formation
[Indic] Fix cluster formation with left-matras and conjunct forms
[Thai] Adjust SARA AM reordering to match Uniscribe
[Thai] Reorder U+0E3A THAI VOWEL SIGN PHINTHU
[Thai] Fix SARA AM handling
[Indic] Limit syllables to at most five consonants
[Indic] Remove syllable length check before sorting
[Indic] Minor refactoring
[GSUB/GPOS] Const correctness
[Indic] exclude ligatures when matching on Indic category
[Indic] Improve check on ligatures
Minor refactoring
When removing zero-width marks, don't remove ligatures
[Indic] Change "unknown" position to end of syllable
[Indic] Improve Sinhala base algorithm and reph positioning
[Indic] End Vowel-based syllable at ZWJ
[Indic] Further adjust base algorithm for Sinhala
[Indic] In Sinhala, form forced Reph even if no other consonant found
[Indic] Don't reposition Khmer Bindu
[Indic] Position Khmer U+17CE
[Indic] Fix minor bug in pre-base Ra positioning
[Indic] Reposition Khmer prebase-reordering Ra around split matras
[Indic] Recategorize Khmer various signs as top matras
[Indic] Unmark U+17D1 KHMER SIGN VIRIAM to NOT be a Virama
[Indic] Limit matras to 4 per syllable
[Indic] Implement Reph+Ya-Phalaa interaction
[Indic] Better position left-matra in Malayalam
[Indic] Ignore Uniscribe output containing two zero-width space glyphs
[Indic] Reposition Gurmukhi top matras to after post
Minor const correctness shuffling
Make data members of various OpenType structs protected instead of private
[Mongolian] Remove Mongolian Vowel Separator at the end of shaping
Minor
[hb-old] Start adding HarfBuzz-old as a new backend
[hb-old] Rename hb_buffer_* to HB_Buffer_*
[hb-old] Remove unused header file
[hb-old] Add visibility attributes
[hb-old] Shovel out the line-breaking / word-segmentation stuff
[hb-old] Define Unicode funcs in terms of new HarfBuzz
[hb-old] Add HarfBuzz.old shaper
Minor
[GPOS] Fix MarkMarkPos applied to results of MultipleSubst
[hb-old] Fix clusters
[hb-old] Fixup not-enough-space handling
[hb-old] Fix Arabic cursive positioning
Minor
Fix visibility warnings with MinGW32
Start adding a unified shaper access infrastructure
Minor
Start implementing shape_plan
Switch to shape_plan
Switch old and uniscribe backends to shape_plan
Partially switch ot shaper to shape_plan
Move ot shaper completely to shape_plan
Choose one shaper per plan
Add hb_ot_layout_ensure() and hb_uniscribe_font_ensure()
Don't fail choosing shaper on planning failure
Add default_shaper_list to shape_plan
Implement shape_plan caching
[GSUB/GPOS] Reject Context/ChainContext lookups with zero input
Reject lookups with no subTable
[GSUB/GPOS] Add get_coverage() and use it to speed up main loop
Minor
[GSUB] Simplify would-apply
[GSUB] Minor
[GPOS] Fix mark-to-mark positioning when one of the marks is a ligature
[Uniscribe] Remove hb_uniscribe_font_ensure()
Minor
[Minor]
[hb-old] Fix cluster formation in RTL
Add Arabic tests for mark ligature component attachments
[GSUB] Don't set new lig_id on mark ligatures
Fixup bb0e4ba3e9c5a407fc5d73c914e429d24d336380
[GSUB/GPOS] Minor
[GSUB] Fix mark component stuff when ligatures form ligatures!
Minor
Minor
[GSUB] Don't ligate glyphs attached to different components of ligatures
[GSUB] Minor
[GSUB] Further adjustments to mark-attachment vs ligation interaction
Minor
[OT] Remove hb_ot_layout_ensure()
[OT] Gain back some lost speed
Fix leak
Don't lock user_data set during destruction if empty
[hb-old] Fix misc leaks
Add Hebrew test
[Indic] Recategorize Telugu length marks
Unbreak Hangul jamo composition
Fix build on Mac
[CoreText] Port to shape_plan infrastructure
[Uniscribe] Clean up a bit
[GSUB] Minor
Minor
[GSUB] Don't erase glyph classes if GDEF does not have glyph classes
[GSUB/GPOS] Move glyph props matching around
Minor
[OT] Don't crash if no GDEF available
More refactoring glyph class access
Minor
[OT] Streamline complex shaper enumeration
[buffer] Minor
Remove unused function
Implement Unicode compatibility decompositions
[hb-old] Implement getGlyphMetrics()
[GSUB] Minor
[OT] Synthesize glyph classes
[OT] Zero mark advances if the shaper desires so
Remove some TODO items
[GPOS] Adjust mark advance-width zeroing logic
[old] Implement fontMetrics
[hb-old] Adjust mark positioning parameters
Add commentary on the compatibility decomposition in the normalizer
Add hb_unicode_combining_class_t
Move unicode accessors around
Inline Unicode callbacks internally
Use a lookup table for modified_combining_class
Inline font getters
[OT] Templatize Coverage::add_coverage()
Add hb_set_digest_t
[GSUB/GPOS] Add add_coverage()
[GSUB/GPOS] Use Coverage digests as gatekeeper
[GSUB/GPOS] Remove unused get_coverage() methods
Use wider set digests on 64-bit archs
Minor
Use Coverage digests in would_apply
[GSUB/GPOS] Check array size before accessing digests
[Indic] Minor
[Indic] Streamline feature would_apply()
[Indic] Rename
[Indic] Refactor
[Indic] More refactoring of consonant position peeking in the font
Minor
[OT] Hide some API
[GSUB] Wire the font, not just the face, down to substitute()
[Indic] Move consonant-position-setting into initial_reordering()
[OT] Minor refactoring
[OT] Port complex_shaper to planner/plan
More massaging
[OT] Pipe shape_plan down to pause_callbacks
[OT] Add per-complex-shaper shape_plan data
[Indic] Move more repeated work into shape_plan
[Indic] Move more stuff to the shape_plan
[Indic] Add per-script configuration tables
Dn't use gint
[OT] Use general-category, not GDEF class, to decide to zero mark advances
Fix leak
Minor
[Indic] Fix consonant position font lookup logic
Rewrite ARRAY_LENGTH as a template function
Enlarge glyph_name buffer
Speed up hb_set_digest_common_bits_t calcs
Speed up hb_set_digest_lowest_bits_t calcs
[Indic] Minor, move 'blwf' after 'half'
Fix compiler warnings
Remove unnecessary lifecycle bits
[Graphite] Port graphite2 backend to new shaper infrastructure
[Graphite] Fix graphite2 backend with RTL text
[util] Fix leaks
Minor
Remove enum trailing comma
[Graphite] Minor
Add Hebrew presentation forms shaping
Minor refactoring
More refactoring
Fix warnings
[OT] Apply 'rclt' feature in horizontal mode
Minor
Add hb_font_glyph_from/to_string
[GSUB] Generalize would_apply()
Minor
[OT] Start adding fallback positioning
[hb-old] Fix warnings
[OT] Implement fallback positioning
Fix cast
Minor renaming
Adjust a couple source checks
Minor
Minor
Make default_language threadsafe
Minor
Minor
[hb-old] speed-up build
Use a export-file for Windows builds
Misc minor fixes
Add check-exported-symbols.sh
Revert "[GSUB/GPOS] Reject Context/ChainContext lookups with zero input"
Revert "Reject lookups with no subTable"
Fill out combining class resetting for fallback shaping Thai/Lao/Tibetan
Minor
Shuffle buffer variable allocations around
[OT] More code shuffling around
[OT] Remove redundant check
[OT] Avoid calling get_glyph() twice
Minor
[OT] Slightly adjust normalizer
[test] Add Urdu ligature sequences from CRULP
[test] Move around
Bump version to 0.9.1
Bradley Grainger (1):
Fix #pragma message for MSVC.
Darin Adler (1):
Remove stray semicolon.
Eric Mader (3):
Add modules modules/indic/indic-xft.c, indic-ot.c, indic-ot.h,
Don't fail when reading an empty script.
Correctly handle back, new_advance.
Hans Breuer (3):
moved pango_fc_* to the latter where they live on *nix too.
if PANGO_MODULE_PREFIX is defined include the basic backend shaper (should
updated
Havoc Pennington (1):
header to abstract the difference between FreeType 2.0.3 and 2.0.4 error
James Henstridge (1):
make similar changes to the ones on glib head (call gtk-docize, etc).
Javier Jardón (1):
Bug 31174 - Update autotools configuration
Jeff Muizelaar (2):
Include the tags from the Apple specification for TrueType fonts
HB_UNUSED is unneeded on static inline functions
Jonathan Kew (2):
[CoreText] Add basic Core Text backend for comparison with our native shaping
[CoreText] Ensure cluster indices in output buffer are non-decreasing.
Manish Singh (1):
Get rid of unnecessary casts for g_object_{ref,unref}
Martin Hosken (8):
Rename classes from Grxxx to HbGrxxx
Rename Grxxx to HbGrxxx
Add graphical output to hbtestfont
Merge branch 'master' of git://git.freedesktop.org/~behdad/harfbuzz-ng
Add fontconfig to hbtestfont
Tidy up hbtestfont and add README
hb-graphite now no longer has -ve advances within clusters. Fix infinite loop in tag_to_script(). python fixed to use tag_to_script and allow hbtestfont to be passed font files, where fontconfig knows about them.
Fixes to Python and Graphite from Martin
Matthias Clasen (2):
Remove declarations of unimplemented functions
Add docs.
Owen Taylor (68):
Since Xft may only be available statically without shlib deps, check for
Release 0.14
Remove excess call to DONE_Stream left over from conversion from FT1.
Use ISO C99 varargs when available.
Up to 0.19.
Uncomment GPOS parts.
In Load_ChainContextSubst2, handle the case where an empty class
Add compatibility defines for changes in FreeType 2.1.0.
Fix acess outside of a loaded frame and some memory leaks on failure.
on Jun 3 18:56:09 2002 Owen Taylor <otaylor at redhat.com>
Offset to MarkAttachClassDef is offset to table, not offset to offset to
Start of merges from freetype1 of OpenType fixes.
ligatures can be also used in MarkBasePos lookups. (2001-03-17 Werner
Export TT_New_GDEF_Table to create an empty GDEF table.
Up the FreeType version requirement to 2.0.9. (2.2.1 had a compilation
Add an --enable-debug configure argument defaulting to 'yes' for unstable
Fix infinite loop in the case where the charmap contains a character >
Fix confusion between boolean and FT_Error return. (#108358, Noah Levitt)
Fix mispelled constant from last commit.
When loading in Load_Chain{Sub,Pos}ClassRule, the limit we have only
More careful handling of face->charmap; if is NULL, try to set a unicode
Fix uses of g_assert() around statements with side effects. (#115498,
Improvements to OpenType-dumping code, based on changes in Qt by Lars
Fix a couple of places where TTO_Err_Not_Covered wasn't considered a
Add GPOS_LOOKUP_EXTENSION, GSUB_LOOKUP_EXTENSION, which allow lookup
Update of GPOS and GSUB support to OpenType 1.3 (From FreeType, Werner
OpenType-1.4 update: backtrack information is stored with the item closest
Fix some FreeType1 variable declarations that snuck in from the last
If applying a ligature lookup makes adjacent two glyphs that were not
Fix additional places where TTO_Err_Not_Covered wasn't considered a
Fix various memory leaks from error returns that should have been jumps to
Move allocation afer initial checks, fixing memory leak.
Fix confusion between boolean and FT_Error return. (GSUB equivalent of fix
Fix return value to only contain TTO_Err_Not_Covered if *no* lookups
Check for lookahead glyphs in the right place. (Patch from #116860)
Revert back out the FreeType patch preventing ligatures of not-originally
Rewrite handling of IGNORE_SPECIAL_MARKS to be properly "ignore marks of
Add some macro definitions for gcc-3.3 that suppress the bogus
pango/opentype/ftxgsub.c (Lookup_ChainContextSubst3) Fix problems where
Fix gcc-3.3 versions of macros to have the right return value.
Switch over to recommended Freetype system of include ft2build.h then
Suport CFF fonts as well. (#131202, Manjunath Sripadarao)
Memory leak fixes from Masatake YAMATO, #130652
Sign convention for y offsets is opposite between PangoGlyphString and FT
Rework opentype interfaces and other changes to make GPOS work for Arabic.
=== Released 1.4.0 ===
Free buffer->positions, clean up error returns that were returning
Revert error return changes from last commit.
Use the gcc-3.3 strict-aliasing compatible macros from fterrcompat.h
#143693, Sayamindu Dasgupta
Fix pervasive buffer overruns when skipping glyphs when matching contexts.
Add support for ChainContextSubstFormat3.
Make Check_Property() take a OTL_GlyphItem, add a gproperties field to
Match backtrack context against the output glyphs not the input glyphs
Add missing macro to make the last change actually compile.
Remove the unused parameter from the IN_CURITEM() and IN_CURGLYPH macros.
Fix allocation and indexing in NewGlyphClasses array. (#130661, Masatake
Save the order in which features were added and use that when applying
Finish extending properties flags from FT_UShort => FT_UInt. (OTLBuffer
=== Released 1.6.0 ===
Cleanups from 'sparse', #149922, Kjartan Maraas
Set G_LOG_DOMAIN.
For all binary searches, handle the case where the number of items is 0.
Chain up from finalize. (#307547, Paolo Borelli)
Fix up places where there is missing or incomplete Copyright and License
Patch from David Turner. Review and testing by Behdad Esfahbod
Remove an unecessary set of block2.
Skip lookups with lookup index out of range. (Patch from Behdad Esfahbod,
Ryan Lortie (3):
[API} hb_buffer_get_glyph_{infos,positions}: Add length out parameter
[API] Rename hb_buffer_ensure() to hb_buffer_pre_allocate()
[API] unicode: rework virtual functions for subclassing
Sebastian Wilhelmi (2):
Resuming aborted commit
Do not add GLIB_CFLAGS to CFLAGS.
Theppitak Karoonboonyanan (1):
Negate y offset according to different conventions between
Tor Lillqvist (4):
Only a script engine here.
pango/makefile.mingw.in pango/mini-fribidi/makefile.mingw Remove. Not
Remove. Not used. (A static library is built here. Exported entries are in
Rename LDADDS to libpango_ot_la_LIBADD to actually make libpango-ot.la
More information about the HarfBuzz
mailing list