Commit Graph

69 Commits

Author SHA1 Message Date
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
Behdad Esfahbod
d8134bc017 [hb-shape] Add parantheses around --show-text output 2012-01-20 17:18:59 -05:00
Behdad Esfahbod
4e84ce48d5 Move hb-diff to test/shaping/ 2012-01-20 13:51:22 -05:00
Behdad Esfahbod
c91c4fa471 [hb-shape] Change glyphstring brackets from </> to [/]
Sorry for the disruption but I need this to differentiate from the
Unicode string.
2012-01-19 17:51:57 -05:00
Behdad Esfahbod
4983feebbb [hb-diff] Clean up 2012-01-19 13:54:52 -05:00
Behdad Esfahbod
cdc673d97c [hb-shape] Add --show-line-num
Ok, much more useful as a test suite driver now.
2012-01-19 12:46:18 -05:00
Behdad Esfahbod
cc4d9810d6 [hb-shape] Add --show-text and --show-unicode options 2012-01-19 12:32:20 -05:00
Behdad Esfahbod
27c36af411 Fix OOB in hb-shape 2012-01-19 12:30:43 -05:00
Behdad Esfahbod
8750abaf84 [util] Add --help-features
Patch from Khaled Hosny.
2012-01-18 22:47:44 -05:00
Behdad Esfahbod
a097043f9a Allow space in one more place when parsing features 2012-01-14 17:55:51 -05:00
Behdad Esfahbod
fd528c17b7 [util] Add --list-shapers to hb-view and hb-shape 2011-10-12 15:03:58 -04:00
Behdad Esfahbod
5857720cd3 [util] s/%d/%u/ when printing glyph ids and clusters 2011-09-27 12:36:26 -04:00
Behdad Esfahbod
d3f3690b48 hb-shape: In --no-glyph-names, output glyph number directly
Ie. write "86" instead of "gid86".
2011-09-21 16:41:43 -04:00
Behdad Esfahbod
088c1e27c0 [util] Fix option parsing
Wow, who knew bool is one byte and I was using it as a 4byte int?!

C++ auto casts fails you in mysterious ways...
2011-09-20 14:43:55 -04:00
Behdad Esfahbod
e700bce118 [util] Add hb-diff
A diff program written in Python that is more suitable for comparing
hb-shape output from different backends.  Main differences with stock
diff:

1. It outputs one line's comparison at a time, as opposed to batching
'+' lines and '-' lines.

2. It colors the part of the line that changed, taking word boundaries
into consideration.

You can pipe the colored output to 'less -r'.
2011-09-20 11:20:53 -04:00
Behdad Esfahbod
422558142a [util] Account for line-space in surface size 2011-09-19 17:57:02 -04:00
Behdad Esfahbod
b5afd8f78e [util] Rename --output to --output_file, and --format to --output-format 2011-09-19 16:56:21 -04:00
Behdad Esfahbod
466393c2f0 Really fix build this time 2011-09-19 16:50:18 -04:00
Behdad Esfahbod
fe1605db4f Fix dist 2011-09-19 16:49:03 -04:00
Behdad Esfahbod
8b8b19056d [util] Add hb-shape utility
Like hb-view, but prints out buffer contents.

The output format is kinda cryptic.  Suggestions welcome.
2011-09-19 16:41:17 -04:00
Behdad Esfahbod
f6496663c2 [util] If no text is provided, simply call cairo_show_glyphs() 2011-09-19 15:45:52 -04:00
Behdad Esfahbod
11e51993ab [util] Move font-size into view-options 2011-09-19 09:58:55 -04:00
Behdad Esfahbod
0fe2960197 Fix Linux build when io.h is available
Bug 40953 - fail compile git: make[2]: *** [hb_view-options.o] Error 1
2011-09-17 09:59:58 -04:00
Behdad Esfahbod
d2b3ab9ece Fix "[util] Fix hb-view crash with bogus font." 2011-09-16 17:00:08 -04:00
Behdad Esfahbod
da4a2a1426 Cosmetic 2011-09-16 16:57:03 -04:00
Behdad Esfahbod
4274ed7ab6 [util] Fix hb-view crash with bogus font 2011-09-16 16:52:26 -04:00
Behdad Esfahbod
5ddd9cc499 Minor 2011-09-16 16:40:44 -04:00
Behdad Esfahbod
55aeb04904 Fix reading text from stdin 2011-09-16 02:08:36 -04:00
Behdad Esfahbod
a75c1b1251 Move code around 2011-09-16 01:16:41 -04:00
Behdad Esfahbod
7bf6ecd3bf Always shape at size=upem
Fixes bug with uniscribe not handling GIGANTIC sizes.
2011-09-16 01:11:30 -04:00
Behdad Esfahbod
674ee58d9b Minor 2011-09-16 00:54:05 -04:00
Behdad Esfahbod
4451168e5d Fix binary stdin/stdout io in Windows
Make --font-file accept "-" to mean stdin, and have it work
in Windows too!
2011-09-16 00:41:08 -04:00