Commit Graph

89 Commits

Author SHA1 Message Date
Behdad Esfahbod d02985ec5a ISO 15924 fixes
Update to http://unicode.org/iso15924

Fixes some of the test failures in test-unicode with ICU.  Still
one more to fix before the test passes.
2011-05-02 12:35:14 -04:00
Behdad Esfahbod 29c67d3f70 Add initial implementation of user_data to objects 2011-04-27 21:27:40 -04:00
Behdad Esfahbod 39a840ae65 [API] Add hb_direction_from/to_string()
And hb-view --direction argument.
2011-04-27 14:48:19 -04:00
Behdad Esfahbod 2409d5f8d7 Update Copyright headers 2011-04-21 17:14:28 -04:00
Behdad Esfahbod 62879eebd9 [API] Use ISO 15924 tags for hb_script_t
This simplifies the code, reduces static data, and makes the design
more extensible to future additions of new scripts.
2011-04-18 23:40:21 -04:00
Behdad Esfahbod 00bec2c969 Move enum types to hb-common.h 2011-04-15 19:16:54 -04:00
Behdad Esfahbod 3cbdf70e0a Make hb_language_t typesafe 2011-04-15 12:33:14 -04:00
Behdad Esfahbod 8e4bb3cacc Fold hb-language.[ch] into hb-common.[ch] 2011-04-11 17:55:58 -04:00
Behdad Esfahbod 4188096a77 Make HB_TAG_CHAR4 private
It's just sugar.
2011-04-11 14:58:28 -04:00
Behdad Esfahbod 07233581c9 Rename HB_TAG_STR() to HB_TAG_CHAR4()
The problem with HB_TAG_STR() was that it expected a string of size 4
exactly, and unlike hb_tag_from_string() it doesn't pad the tag with
space characters.  So, the new name is more appropriate.
2011-04-11 13:12:37 -04:00
Behdad Esfahbod d77b76200e Add few more paratheses to the HB_TAG macro
Never hurts.
2011-04-11 12:29:52 -04:00
Behdad Esfahbod ae9eeaff93 Remove warning message from public header file
Since we now assert thos in hb-private.h, the int types cannot be wrong.
(Except for when someone else includes hb-common.h in a very broken
configuration, but that's not our problem!)

Plus, we don't use inline in the public headers, so remove that too.
2011-04-11 12:09:13 -04:00
Behdad Esfahbod 3286fc0e9a Let hb_shape() guess script and direction...
- Rename HB_SCRIPT_INVALID_CODE to HB_SCRIPT_INVALID

- Add HB_DIRECTION_INVALID

- Make hb_script_get_horizontal_direction() public

- Make hb_shape() guess script from buffer text (first non-common
  non-inherit script) if buffer script is set to HB_SCRIPT_INVALID (this
  is NOT the default.)

- Make hb_shape() guess direction from buffer script if buffer direction
is set to HB_DIRECTION_INVALID (this is NOT the default.)

- Make hb-view.c set INVALID script and direction on the buffer.

The above changes are meant to make hb-view fairly useful for uni-script
uni-direction text.  The guessing behavior however is NOT the default of
hb_shape() and must be asked for explicitly.  This is intended, because
the guess is not a suitable substitute to full-fledged bidi and script
segmentation.  It's just a testing tool.
2011-03-16 14:53:32 -03:00
Behdad Esfahbod 6cb8c34930 Add hb_var_int_t 2010-11-02 19:12:57 -04:00
Behdad Esfahbod acdba3f90b Prefer C linkage 2010-07-23 15:39:27 -04:00
Behdad Esfahbod 83f34677bc Add hb_tag_from_string() 2010-05-21 13:43:49 +01:00
Behdad Esfahbod 0a4399ca22 Fix scale issues
hb_font_set_scale() now sets the value to be used to represent a unit
pixel.  For example, if rendering a 10px font with a 26.6 representation,
you would set scale to (10 << 6).  For 10px in 16.16 you would set it to
(10 << 16).  This space should be the same space that the get_glyph_metrics
and get_kerning callbacks work in.
2010-05-19 15:45:06 -04:00
Behdad Esfahbod 1ce4dc95db Use bit tricks for HB_DIRECTION_IS_*
We already depend on the exact values of the direction enum
in HB_DIRECTION_REVERSE(), so we may as well use that.
2010-05-12 18:29:25 -04:00
Behdad Esfahbod 22da7fd94d Rename a few files to be C++ sources
In anticipation for buffer revamp coming.
2010-05-12 18:23:21 -04:00
Behdad Esfahbod c755cb3e3a Change header comment 2010-04-22 00:11:43 -04:00
Behdad Esfahbod 314b460d8a Add HB_DIRECTION_IS_FORWARD/BACKWARD 2009-12-20 13:58:50 +01:00
Behdad Esfahbod ff44f88df2 Handle shaping in non-native direction 2009-11-06 19:48:16 -05:00
Behdad Esfahbod cd7555eef2 Namespace MSVC defines in public header 2009-11-03 15:16:10 -05:00
Behdad Esfahbod ffbe0a853d More MSVC fixes from Jonathan Kew 2009-11-03 10:52:45 -05:00
Behdad Esfahbod cc4c096a7e MSVC has no stdint.h 2009-11-02 18:14:48 -05:00
Behdad Esfahbod 468769b8f5 [HB] Rename hb_ot_layout_feature_mask_t to hb_mask_t 2009-11-02 14:40:34 -05:00
Behdad Esfahbod 0ead481a5a [HB] Port ot-layout to new public API 2009-11-02 14:40:26 -05:00
Behdad Esfahbod 0cc7bc59ea [HB] Move typedef's around 2009-11-02 14:40:25 -05:00
Behdad Esfahbod 35a7383c61 [HB] Simplify refcounting functions 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 0090dc0f67 [HB] Remove hinting setting and use ppem==0 to mean "no hinting" 2009-11-02 14:40:24 -05:00
Behdad Esfahbod 2ebb89d63d Revert "XX"
This reverts commit c939f6aff405ca7b10b1f1538f46148bff719fcb.
2009-11-02 14:40:22 -05:00
Behdad Esfahbod 55520d2af1 XX 2009-11-02 14:40:22 -05:00
Behdad Esfahbod 6c78683c04 [HB] Update copyright years 2009-11-02 14:40:18 -05:00
Behdad Esfahbod f96ffd43bc [HB] simplify macros 2009-11-02 14:40:18 -05:00
Behdad Esfahbod c7d457aa3a [HB] Ouch. Add files. 2009-11-02 14:40:16 -05:00
Behdad Esfahbod 2d15e72c75 Give it a start at GSUB 2009-04-15 19:50:16 -04:00
Behdad Esfahbod 590d55cbb9 [GDEF] Finish public API 2008-01-24 19:15:35 -05:00
Behdad Esfahbod 64aef3a549 Add copyright notices. 2008-01-23 16:14:38 -05:00
Behdad Esfahbod 8dd1c8b8d6 Clean up file names, add namespace 2008-01-23 05:02:14 -05:00