Commit Graph

100 Commits

Author SHA1 Message Date
Behdad Esfahbod 1172dc7362 Rename hb_buffer_clear() to hb_buffer_clear_contents()
The previous name was clashing with harfbuzz.old.  There are systems
that need to link both...

Clash-free now again.
2013-01-07 16:46:37 -06:00
Behdad Esfahbod 4a765f092d Minor 2012-12-21 16:48:47 -05:00
Behdad Esfahbod 9815a88111 [util] List supported output formats in --help output 2012-12-21 16:46:53 -05:00
Behdad Esfahbod f95a87b7b8 [util] List supported output formats in hb-view 2012-12-21 16:35:28 -05:00
Behdad Esfahbod 6bad092aa8 [util] Default to "text" output format in hb-shape
If you say:

  hb-shape font.ttf text --output-file out.txt

This was previously failing:

  Unknown output format `txt'; supported formats are: TEXT / JSON

Now we simply fallback to TEXT if no explicit format was requested.
2012-12-21 16:01:52 -05:00
Behdad Esfahbod 9a34a50daa Fix build with C++11 2012-12-05 19:18:18 -05:00
Behdad Esfahbod 75da37dcb1 Minor 2012-11-15 18:39:23 -08:00
Behdad Esfahbod aec89de564 Add / modify set API a bit 2012-11-15 16:15:42 -08:00
Behdad Esfahbod a4bef84e37 [util] Make hb-shape err if output-format is not understood
And list supported formats.
2012-11-15 13:29:51 -08:00
Behdad Esfahbod f9edf16725 Add buffer serialization / deserialization API
Two output formats for now: TEXT, and JSON.  For example:

  hb-shape --output-format=json

Deserialization API is added, but not implemented yet.
2012-11-15 13:10:07 -08:00
Behdad Esfahbod 407f80d625 [util] Add --bot / --eot / --preserve-default-ignorables 2012-11-13 15:33:27 -08:00
Behdad Esfahbod 78d41d8d69 Minor 2012-11-13 15:15:09 -08:00
Behdad Esfahbod 321f73c16e [util] Add --text-before and --text-after to hb-shape / hb-view
Use with Arabic, for example, to see the effect on joining.
2012-11-13 15:12:24 -08:00
Behdad Esfahbod c8149ca85e [hb-shape] Adjust postioning output format
1. If there is any offset (x or y), print out both x and y offsets.

2. Always print out the advance in the major direction of the buffer.
Ie. even for zero-advance glyphs, print a "+0".  This is more intuitive.
2012-11-13 11:07:20 -08:00
Behdad Esfahbod 3bc22eb7b8 Minor 2012-11-12 10:07:28 -08:00
Behdad Esfahbod e30ebd2794 Add hb_feature_to/from_string() 2012-09-06 22:09:06 -04:00
Behdad Esfahbod 6f3a300138 Add hb_font_glyph_from/to_string 2012-08-07 22:13:25 -04:00
Behdad Esfahbod ade7459ea7 [util] Fix leaks 2012-08-06 19:49:42 -07:00
Behdad Esfahbod bdc48a879a Enlarge glyph_name buffer
Lohit Devanagari has a glyph named:
u0924_u094D.half_u0930_u094D.blwf.vatu
2012-08-04 17:08:38 -07:00
Behdad Esfahbod 39b17837b4 Add hb_buffer_normalize_glyphs() and hb-shape --normalize-glyphs
This reorders glyphs within the cluster to a nominal order.  This should
have no visible effect on the output, but helps with testing, for
getting the same hb-shape output for visually-equal glyphs for each
cluster.
2012-07-17 17:09:29 -04:00
Behdad Esfahbod 6a5661f1e6 Ugh 2012-06-09 03:26:16 -04:00
Behdad Esfahbod f211d5c291 More Oops! Fix fast-path with sub-type==0 2012-06-09 03:11:22 -04:00
Behdad Esfahbod a18280a8ce Fix warnings produced by clang analyzer 2012-06-07 15:44:12 -04:00
Behdad Esfahbod 7ec83051c0 Fix warnings 2012-06-07 13:32:57 -04:00
Behdad Esfahbod 0594a24484 Cleanup TRUE/FALSE vs true/false 2012-06-05 20:35:40 -04:00
Behdad Esfahbod 4a8a529068 Make hb-view err if all shapers failed 2012-06-05 19:17:02 -04:00
Behdad Esfahbod c188548312 Add --verbose to hb-shape
Just turns all --show-* options on.
2012-06-04 09:09:59 -04:00
Behdad Esfahbod ae62166519 [util] Minor 2012-06-02 12:21:19 -04:00
Behdad Esfahbod 5db0683a82 [util] Make hb-shape continue shaping other lines if shapers failed 2012-06-02 12:13:08 -04:00
Behdad Esfahbod cd6a549341 Remove unused variable 2012-06-01 13:45:25 -04:00
Behdad Esfahbod bce095524b Add hb_font_get_glyph_name() and hb_font_get_glyph_from_name() 2012-05-28 10:45:50 -04:00
Behdad Esfahbod 8f8956a55f [util] Add hidden --shaper that is equivalent of --shapers 2012-05-25 14:30:24 -04:00
Behdad Esfahbod 29ce446d31 Add set iterator 2012-05-25 14:17:54 -04:00
Behdad Esfahbod c87b317f0e [util] Add hb-ot-shape-closure tool
Computes all the glyphs that may be generated given a font and
set of Unicode characters.

The order of the Unicode characters is irrelevant.

Sample output:

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf f
f f_f

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf i
i

behdad:util 0$ ./hb-ot-shape-closure Doulos\ SIL\ Regular.ttf fi
f f_i f_f_i f_f i

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ب
uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf ا
uni0627 uni0627.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با
uni0627 uni0627.fina uni0628 uni0628.init uni0628.medi uni0628.fina

behdad:util 0$ ./hb-ot-shape-closure DroidNaskh-Regular.ttf با --no-glyph-names
5 6 133 134 135 136
2012-05-15 23:53:18 -04:00
Behdad Esfahbod 45675e589e [util] Refactor to accommodate for upcoming new tool 2012-05-15 23:10:39 -04:00
Behdad Esfahbod 8caf5dcd66 Minor 2012-05-13 17:10:18 +02:00
Behdad Esfahbod 50f630c17c Remove ioctl checks
Ended up not using terminal size after all.
2012-05-13 13:03:44 +02:00
Behdad Esfahbod db0de7cd61 [util] Set ansi color only on color change 2012-05-13 13:02:38 +02:00
Behdad Esfahbod 912c5ff80a Reduce default margin 2012-05-13 12:51:02 +02:00
Behdad Esfahbod 52e7b1424a [util] Make hb-view print out Unicode art if stdout is a terminal 2012-05-13 07:55:00 +02:00
Behdad Esfahbod 30874b4819 [util] Make tools default to stdin if no text is provided
One less argument to type in typical testing workflow!
2012-05-12 15:54:27 +02:00
Behdad Esfahbod 2097951110 [util] Change default font size of hb-view to 256
Most common usecase of hb-view is to test rendering of short words for
testing / inspection.  Not having to type "--font-size 150" each time
isn't such a bad idea...
2012-05-12 15:41:48 +02:00
Behdad Esfahbod 95cefdf96e Add --utf8-clusters
Also fix cairo cluster generation.
2012-04-16 18:08:20 -04:00
Behdad Esfahbod effb42e5c5 Always use cairo_show_text_glyphs()
Better catches cluster errors.
2012-04-16 16:04:07 -04:00
Behdad Esfahbod 799cfdd15a Make page progression be right to left for vertical text 2012-04-16 16:00:36 -04:00
Behdad Esfahbod 69b84a8f6c Fix hb-view surface size calc for vertical text
For some reason it doesn't quite work with IranianNastaliq, but
that looks like a font issue.
2012-04-12 15:50:40 -04:00
Behdad Esfahbod 6bd9b479b8 Hide backend-specific shape functions
Also remove shaper_options argument to hb_shape_full().  That was
unused and for "future".  Let it go.

More shaper API coming in preparation for plan/planned API.
2012-04-12 14:53:53 -04:00
Behdad Esfahbod f51e167436 Minor error handling 2012-01-30 09:48:33 -05:00
Behdad Esfahbod d530024168 [util] Make clusters work with char offset instead of UTF-8 offset
This means the --features indices also refer to char position
instead of byte position now.  Same for cluster values reported
by hb-shape.

Will add an option for byte indices later.
2012-01-21 19:07:22 -05:00
Behdad Esfahbod 0f68f4a0b5 Correctly print out Unicode strings 2012-01-21 18:59:48 -05:00