vectorcraft/crates/text/src
bflatastic 0687d2d127 Type: Paragraph Direction instead of an Automatic alignment toggle; bidi only where needed (review of #300)
Illustrator sets a paragraph's direction (Left-to-Right / Right-to-Left
Paragraph Direction in the Paragraph panel, with the Middle Eastern
options) and keeps its alignment buttons physical; it has no automatic
alignment toggle. So:

- ParaStyle.direction (None: from each paragraph's first strong
  character, as before; written only when set), the Paragraph panel's two
  direction buttons with Show Indic Options (original icons), and
  text.setFormat {direction: "auto"|"leftToRight"|"rightToLeft"}. The
  layout uses it as the base direction.
- The Automatic alignment check box is gone. Justify::Auto stays as the
  start of the paragraph's direction, set on new type only (text.create,
  the Type tools, with the mojikumi default in one new_type_para()):
  TextObject::point is Left again, so importers (PDF, SVG, DXF, EMF) keep
  their own alignment. The alignment buttons show what Auto resolves to.
- Bidi only where there is something right to left: plain paragraphs skip
  the algorithm (no per-layout allocation), it runs once per paragraph
  (shaping takes the paragraph's levels instead of recomputing them; path
  type computed it four times), and the shaper keeps Han, Hiragana,
  Katakana and Bopomofo in one segment (splitting at every change of
  script cost Japanese text a shaper call per kana-kanji switch).
- Vertical type keeps its logical order, so its glyphs and lines are not
  marked right to left (the caret no longer runs backwards down a column).
- PDF import puts Hebrew and Arabic, which PDFs (and VectorCraft's own
  export) draw in visual order, back in logical order with the direction
  that shows it as drawn; with bidi layout it came back mirrored.
- SVG import pins the direction SVG implies (left to right unless
  direction: rtl); SVG export also outlines right-to-left paragraphs.
- Docs (development.md), ROADMAP (folded into the Type entry, Type core
  row) and README updated; catalog rows for the new labels.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-08 05:25:01 +07:00
..
composer.rs Live Blends/Envelopes/Gradient Mesh, Shape Builder, Live Paint, Image Trace (drawcraft-trace), Recolor Artwork, Export for Screens, Actions panel, prefs persistence, real layer thumbnails; menus bound 2026-09-30 11:02:16 -04:00
craft_fonts.rs Fonts: use craft-fonts as an optional build input; move the Japanese fonts out 2026-10-06 10:42:21 -04:00
edit.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00
embed.rs Fix #296: variable fonts list and draw every named style 2026-10-07 21:01:26 +07:00
features.rs Type: kinsoku, tate-chu-yoko and upright placement for vertical type 2026-10-06 22:02:38 +09:00
fontdb.rs Type: font menu previews end safely, rows and samples cost less per frame (review of #339) 2026-10-08 05:24:44 +07:00
hyphen.rs Live Blends/Envelopes/Gradient Mesh, Shape Builder, Live Paint, Image Trace (drawcraft-trace), Recolor Artwork, Export for Screens, Actions panel, prefs persistence, real layer thumbnails; menus bound 2026-09-30 11:02:16 -04:00
layout.rs Type: Paragraph Direction instead of an Automatic alignment toggle; bidi only where needed (review of #300) 2026-10-08 05:25:01 +07:00
lib.rs Type: Paragraph Direction instead of an Automatic alignment toggle; bidi only where needed (review of #300) 2026-10-08 05:25:01 +07:00
shape.rs Type: Paragraph Direction instead of an Automatic alignment toggle; bidi only where needed (review of #300) 2026-10-08 05:25:01 +07:00
test_fonts.rs Type: vertical type takes upright glyphs' cells from the font's vertical metrics 2026-10-08 00:12:44 +09:00
tests.rs Type: justified Japanese lines spread between their characters 2026-10-08 00:20:18 +09:00
tests_bidi.rs Type: Paragraph Direction instead of an Automatic alignment toggle; bidi only where needed (review of #300) 2026-10-08 05:25:01 +07:00
tests_embed.rs M4.97: SVG Options choose the encoding, SVG Tiny 1.2 and embedded font subsets 2026-10-05 13:25:15 +07:00
tests_scripts.rs M4.20: Document Setup with bleed, transparency grid, paper and type options 2026-10-05 08:28:16 +07:00
tests_snap.rs M4.34: raster export options and PNG Options — resolution, background, anti-aliasing, interlacing 2026-10-05 09:14:11 +07:00
tests_sysfonts.rs Merge pull request #228 from EthanSuquet/fix/hide-dot-system-fonts 2026-10-06 15:57:48 -04:00
tests_typo.rs Robustness: VectorCraft never crashes — no panics in shipped code 2026-10-05 06:28:59 +07:00
tests_variable.rs Fix #296: variable fonts list and draw every named style 2026-10-07 21:01:26 +07:00
tests_vertical.rs Merge pull request #370 from imachus/pr/ja-wakan 2026-10-07 17:47:44 -04:00
thread.rs Rename DrawCraft → VectorCraft: crates (vectorcraft-*), apps, binaries, types, env vars, docs, examples (.vectorcraft); old .drawcraft files and preferences still load. Fix: text bounds exact after opening a file; selection no longer marks a document modified (dirty = content differs from the saved document). Screenshots and renders regenerated. 2026-10-01 14:30:09 -04:00