HarfBuzz text shaping engine
http://harfbuzz.github.io/
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
102 lines
2.1 KiB
102 lines
2.1 KiB
General fixes: |
|
============= |
|
|
|
- AAT 'morx' implementation. |
|
|
|
- Return "safe-to-break" bit from shaping. |
|
|
|
- Disable 'vert' if 'vrt2' is available (eg. Motoya fonts with arrow chars). |
|
|
|
- Fix TT 'kern' on/off and GPOS interaction (move kerning before GPOS). |
|
|
|
- Implement 'rand' feature. |
|
|
|
- mask propagation? (when ligation, "or" the masks). |
|
|
|
- Warn at compile time (and runtime with HB_DEBUG?) if no Unicode / font |
|
funcs found / set. |
|
|
|
- Do proper rounding when scaling from font space? May be a non-issue. |
|
|
|
- Misc features: |
|
* init/medi/fina/isol for non-cursive scripts |
|
* vkna,hkna etc for kana, etc |
|
* smpl,trad for ZHS / ZHT |
|
|
|
|
|
API issues to fix before 1.0: |
|
============================ |
|
|
|
- API to accept a list of languages. |
|
|
|
- Add default font_funcs / Unicode funcs API and to utils. |
|
|
|
- Add init_func to font_funcs. Adjust ft. |
|
|
|
- Add pkg-config files for glue codes (harfbuzz-glib, etc) |
|
|
|
- Figure out how many .so objects, how to link, etc |
|
|
|
- 'const' for getter APIs? (use mutable internally) |
|
|
|
- blob_from_file? |
|
|
|
|
|
API additions |
|
============= |
|
|
|
- Language to/from script. |
|
|
|
- Buffer (de)serialize API ala hb-shape? |
|
|
|
- Add hb-cairo glue |
|
|
|
- Add sanitize API (and a cached version, that saves result on blob user-data) |
|
|
|
- Add glib GBoxedType stuff and introspection |
|
|
|
- Finish Uniscribe / CoreText face / font get API |
|
|
|
- BCP 47 language handling / API (language_matches?) |
|
|
|
- Add hb_face_get_glyph_count()? |
|
|
|
- Add hb_font_create_linear()? |
|
|
|
- Add hb_shape_plan()/hb_shape_planned() |
|
|
|
- Add query API for aalt-like features? |
|
|
|
- SFNT api? get_num_faces? get_table_tags? (there's something in stash) |
|
|
|
- Add segmentation API |
|
|
|
- Add hb-fribidi glue? |
|
|
|
|
|
hb-view / hb-shape enhancements: |
|
=============================== |
|
|
|
- --output-format should list available formats. |
|
- Add --width, --height, --auto-size, --align, etc? |
|
- Add XML and JSON formats to hb-shape |
|
- --features="init=medi=isol=fina=0" |
|
|
|
|
|
Tests to write: |
|
============== |
|
|
|
- ot-layout enumeration API (needs font) |
|
|
|
- Finish test-shape.c, grep for TODO |
|
|
|
- Finish test-unicode.c, grep for TODO |
|
|
|
- GObject, FreeType, etc |
|
|
|
- hb_set_t |
|
|
|
- hb_cache_t and relatives |
|
|
|
- hb_feature_to/from_string |
|
- hb_buffer_[sg]et_contents
|
|
|