Skip to content
TypesetOKPublic

About

Modern open-source desktop publishing and typesetting software for precise document layout and professional typography.

Topics

Resources

Code of conduct

Contributing

Stars

9 stars

Watchers

0 watching

Forks

Latest commit

ย 

History

308 Commits

Folders and files

Repository files navigation

TypesetOK Logo

TypesetOK (TOK)

ืชื•ื›ื ืช ืขื™ืžื•ื“ ืฉื•ืœื—ื ื™ืช ืœืกืคืจื™ื, ื˜ืงืกื˜ื™ื ืขื‘ืจื™ื™ื ื•ืกืคืจื™ ืงื•ื“ืฉ

A Modern Desktop Publishing (DTP) System for Hebrew Books & Sacred Texts

Version Platform Engine Desktop License

Languages [ ืขื‘ืจื™ืช | English ]


ืขื‘ืจื™ืช

ืžื” ื–ื” TypesetOK?

TypesetOK (TOK) ื”ื™ื ืชื•ื›ื ืช ืขื™ืžื•ื“ ืฉื•ืœื—ื ื™ืช ืžื•ื“ืจื ื™ืช ืฉื ื‘ื ืชื” ืžืชื•ืš ืžื˜ืจื” ืื—ืช ื‘ืจื•ืจื”: ืœืืคืฉืจ ืขื™ืžื•ื“ ืžื“ื•ื™ืง, ื ืงื™ ื•ืื™ื›ื•ืชื™ ืฉืœ ืกืคืจื™ื, ื˜ืงืกื˜ื™ื ืขื‘ืจื™ื™ื ื•ืกืคืจื™ ืงื•ื“ืฉ, ื‘ื—ื•ื•ื™ื™ืช ืžืฉืชืžืฉ ืคืฉื•ื˜ื” ื•ื ื•ื—ื”.

ื‘ืžืฉืš ืฉื ื™ื ืจื‘ื•ืช, ืขื™ืžื•ื“ ืžืงืฆื•ืขื™ ื‘ืขื‘ืจื™ืช ื ืฉืขืŸ ืขืœ ืชื•ื›ื ื•ืช ืžื™ื•ืฉื ื•ืช ืื• ืขืœ ื›ืœื™ื ื™ืงืจื™ื ื•ืžืกื•ืจื‘ืœื™ื ืฉืœื ืชืžื™ื“ ืžื•ืชืืžื™ื ืœืฆื•ืจื›ื™ ื”ื˜ื™ืคื•ื’ืจืคื™ื” ื”ืขื‘ืจื™ืช. TypesetOK ืžืกืคืงืช ืกื‘ื™ื‘ืช ืขื‘ื•ื“ื” ืขืฆืžืื™ืช ื•ื ืขื™ืžื” โ€“ ืžื”ืงืœื“ืช ื•ืขืจื™ื›ืช ื”ื˜ืงืกื˜ ื•ืขื“ ื”ืคืงืช ืงื•ื‘ืฅ PDF ืžื•ื›ืŸ ืœืงืจื™ืื” ื•ืœื”ื“ืคืกื”.


ืžื” ืืคืฉืจ ืœืขืฉื•ืช ืขื TypesetOK?

1. ืขื™ืžื•ื“ ื•ื˜ื™ืคื•ื’ืจืคื™ื” ืขื‘ืจื™ืช

  • ื™ื™ืฉื•ืจ ืฉื•ืจื•ืช ืขื‘ืจื™ ื˜ื‘ืขื™: ืฉื™ืœื•ื‘ ืฉืœ ื—ืœื•ืงืช ืจื•ื•ื—ื™ ืžื™ืœื™ื ืžืื•ื–ื ืช, ืžืชื™ื—ืช ืื•ืชื™ื•ืช ืžืชืจื—ื‘ื•ืช (ืื”ืœืชืจืดื: ื, ื”, ืœ, ืช, ืจ, ื) ื•ืืœื’ื•ืจื™ืชื Knuth-Plass ืœืฉื‘ื™ืจืช ืฉื•ืจื•ืช ืื•ืคื˜ื™ืžืœื™ืช ืœืงื‘ืœืช ืขืžื•ื“ื™ ื˜ืงืกื˜ ื™ืคื™ื ื•ืžื™ื•ืฉืจื™ื.
  • ืฉืœื™ื˜ื” ืžืœืื” ื‘ืคืกืงืื•ืช: ื”ื’ื“ืจืช ืžืจื•ื•ื—ื™ื ืžื“ื•ื™ืงื™ื ืœืคื ื™ ื•ืื—ืจื™ ืคืกืงื”, ื›ื ื™ืกื•ืช ืฉื•ืจื” (ืื™ื ื“ื ื˜ืฆื™ื”), ื•ืžื ื™ืขืช ืฉื•ืจื•ืช ื™ืชื•ืžื•ืช.
  • ื›ื™ื•ื•ื ื™ื•ืช ืžื™ืžื™ืŸ ืœืฉืžืืœ (RTL): ืชืžื™ื›ื” ืžืœืื” ื•ื˜ื‘ืขื™ืช ื‘ื˜ืงืกื˜ ืขื‘ืจื™ ื‘ื›ืœ ื—ืœืงื™ ื”ืชื•ื›ื ื”, ื›ื•ืœืœ ืฉื™ืœื•ื‘ ื‘ื™ื˜ื•ื™ื™ื ื‘ืœื•ืขื–ื™ืช (BiDi).

2. ื˜ื™ืคื•ืœ ืžื“ื•ื™ืง ื‘ื ื™ืงื•ื“, ื˜ืขืžื™ื ื•ื˜ืงืกื˜ ืชื•ืจื ื™

  • ื˜ืงืกื˜ ืžื ื•ืงื“ ื•ื˜ืขืžื™ ืžืงืจื: ืชืžื™ื›ื” ืžืœืื” ื‘ื˜ืงืกื˜ ืขื ื ื™ืงื•ื“ ืžืœื ื•ื˜ืขืžื™ื ืœืœื ืฉื™ื‘ื•ืฉื™ื ื’ืจืคื™ื™ื, ืขื ืขื™ืฆื•ื‘ ื’ื•ืคื ื™ื ืžืชืงื“ื (Font Shaping).
  • ืกื“ืจ ื™ื•ื ื™ืงื•ื“ ืชืงื ื™: ืกื™ื“ื•ืจ ื•ื ืจืžื•ืœ ืื•ื˜ื•ืžื˜ื™ ืฉืœ ืชื•ื•ื™ ื™ื•ื ื™ืงื•ื“ (ืื•ืช ื‘ืกื™ืก, ื ืงื•ื“ื•ืช ืฉื/ืฉื‚, ื“ื’ืฉ, ื ื™ืงื•ื“ ื•ื˜ืขืžื™ื) ืœืžื ื™ืขืช ืงืคื™ืฆื•ืช ืฉืœ ืกื™ืžื ื™ ื”ื ื™ืงื•ื“.
  • ืžื’ืŸ ืฉืžื•ืช ืงื•ื“ืฉ: ืžื ื™ืขืช ืฉื‘ื™ืจืช ืฉื•ืจื•ืช ื•ืคื™ืฆื•ืœ ืžื™ืœื™ื ื‘ืฉืžื•ืช ืงื•ื“ืฉ (ืื™ืกื•ืจ ืฉื‘ื™ืจื” ื‘ืฉืžื•ืช ื”ื•ื™ืดื” ื•ืื“ื ื•ืช).
  • ืžืกืคื•ืจ ืขืžื•ื“ื™ื ืขื‘ืจื™ (ื’ื™ืžื˜ืจื™ื”): ืžืกืคื•ืจ ืขืžื•ื“ื™ื ืื•ื˜ื•ืžื˜ื™ ื‘ืื•ืชื™ื•ืช ืขื‘ืจื™ื•ืช ืœืคื™ ื”ื›ืœืœื™ื ื”ืžืกื•ืจืชื™ื™ื (ื›ื•ืœืœ ื˜ืดื•, ื˜ืดื–, ื•ืกื™ืžื•ืŸ ื’ืจืฉ/ื’ืจืฉื™ื™ื ืชืงื ื™).

3. ืกื‘ื™ื‘ืช ืขื‘ื•ื“ื” ื—ื–ื•ืชื™ืช ื•ื ื•ื—ื”

  • ืชืฆื•ื’ืช ื›ืคื•ืœื•ืช ืขืžื•ื“ื™ื: ืฆืคื™ื™ื” ื‘ืžืกืžืš ื‘ืคืจื™ืกืช ืกืคืจ ืคืชื•ื— (ืขืžื•ื“ ื™ืžื ื™ ื•ืขืžื•ื“ ืฉืžืืœื™ ื–ื” ืœืฆื“ ื–ื”) ื”ืžืฉืงืคืช ื‘ืžื“ื•ื™ืง ืืช ื’ืื•ืžื˜ืจื™ื™ืช ื”ืขืžื•ื“ื™ื.
  • ืขื•ืจืš ื˜ืงืกื˜ ืžื•ื‘ื ื” ื•ืชืฆื•ื’ื” ืžืคื•ืฆืœืช: ืขืจื™ื›ืช ื˜ืงืกื˜ ืจืฆื™ืคื” (Story Editor) ื‘ื—ืœื•ืŸ ื™ื™ืขื•ื“ื™, ืœืฆื“ ืชืฆื•ื’ื” ืžืงื“ื™ืžื” ืฉืœ ื”ื“ืคื™ื ื”ืžืชืขื“ื›ื ืช ืชื•ืš ื›ื“ื™ ื”ืงืœื“ื”.
  • ืฉืœื™ื˜ื” ื ื•ื—ื” ื‘ืชืงืจื™ื‘ (ื–ื•ื): ื›ืคืชื•ืจื™ ืชืงืจื™ื‘, ื”ืชืืžื” ืžื”ื™ืจื” ืœื’ื•ื“ืœ ื”ื—ืœื•ืŸ, ื•ืชืžื™ื›ื” ื‘ืžื—ื•ื•ืช ืžืฉื˜ื— ืžื’ืข ื‘ืžื—ืฉื‘ื™ื ื ื™ื™ื“ื™ื (Pinch to Zoom ื•ื”ื—ืœืงื” ื‘ืฉืชื™ ืืฆื‘ืขื•ืช).

4. ื™ื‘ื•ื ืžืกืžื›ื™ื ื•ืชื‘ื ื™ื•ืช ืขื™ืžื•ื“ ืžื•ื›ื ื•ืช

  • ื™ื‘ื•ื ื˜ืงืกื˜ื™ื ืงืœ: ืคืชื™ื—ืช ืžืกืžื›ื™ ื˜ืงืกื˜ ืคืฉื•ื˜ื™ื (.txt), ืงื•ื‘ืฆื™ Markdown, ืื• ืคืจื•ื™ืงื˜ื™ ืขื‘ืจ.
  • ืกืคืจ ืจืฆื™ืฃ: ืคืจื™ืกื” ืงืœืืกื™ืช ื•ื ืงื™ื™ื” ืœืกืคืจื™ ืงืจื™ืื”, ืขื™ื•ืŸ ื•ื”ื’ื•ืช.
  • ืกืคืจ ืขื ื”ืขืจื•ืช ืฉื•ืœื™ื™ื: ื˜ืงืกื˜ ืจืืฉื™ ืขื ืื–ื•ืจ ื”ืขืจื•ืช ืชื—ืชื•ืŸ ื”ืžืชืขื“ื›ืŸ ืœืคื™ ื”ืฆื•ืจืš.
  • ืขืœื•ืŸ ื•ืงื•ื ื˜ืจืก: ืžื‘ื ื” ื“ื•-ื˜ื•ืจื™ ืืœื’ื ื˜ื™ ืœืขืœื•ื ื™ ืฉื‘ืช, ื—ื•ื‘ืจื•ืช ื•ื“ืคื™ ืžื™ื“ืข.
  • ื“ืฃ ื’ืžืจื ื•ืžืงืจืื•ืช ื’ื“ื•ืœื•ืช: ืคืจื™ืกื•ืช ืชื•ืจื ื™ื•ืช ืจื‘-ื˜ื•ืจื™ื•ืช ืœื˜ืงืกื˜ ืจืืฉื™ ื•ืžืคืจืฉื™ื ืžืงื‘ื™ืœื™ื.

5. ืฉืžื™ืจืช ืคืจื•ื™ืงื˜ื™ื ื•ื™ื™ืฆื•ื ืžื”ื™ืจ ืœ-PDF

  • ื™ื™ืฆื•ื ื™ืฉื™ืจ ืœ-PDF: ื”ืคืงืช ืงื•ื‘ืฆื™ PDF ื•ืงื˜ื•ืจื™ื™ื ื•ื—ื“ื™ื ื™ืฉื™ืจื•ืช ืžืžื ื•ืข ื”ืขื™ืžื•ื“, ื”ื›ื•ืœืœื™ื ื”ื˜ืžืขืช ื’ื•ืคื ื™ื (Font Subsetting), ืžื•ื›ื ื™ื ืœืฆืคื™ื™ื”, ื”ื“ืคืกื” ื‘ื™ืชื™ืช ืื• ืžืกื™ืจื” ืœื“ืคื•ืก.
  • ืคื•ืจืžื˜ ืงื•ื‘ืฅ ืคืจื•ื™ืงื˜ (.tok): ืฉืžื™ืจื” ื•ื˜ืขื™ื ื” ืžื”ื™ืจื” ืฉืœ ื›ืœ ื”ื’ื“ืจื•ืช ื”ืขื™ืžื•ื“, ื”ื˜ื™ืคื•ื’ืจืคื™ื” ื•ื”ื˜ืงืกื˜ื™ื ื‘ืงื•ื‘ืฅ ืืจื›ื™ื‘ ืื—ื“.

ืื™ืš ืžื•ืจื™ื“ื™ื ื•ืžืชื—ื™ืœื™ื ืœืขื‘ื•ื“?

ื”ืชื•ื›ื ื” ืžื™ื•ืขื“ืช ืœ-Windows ื•ืžื’ื™ืขื” ื›ื’ืจืกื” ืฉื•ืœื—ื ื™ืช ืžื•ื›ื ื” ืœื”ืคืขืœื”, ืœืœื ืฆื•ืจืš ื‘ื”ืชืงื ืช ื›ืœื™ ืคื™ืชื•ื—:

  1. ื”ื•ืจื“ื”: ื”ื™ื›ื ืกื• ืœื“ืฃ ื”-Releases ื‘-GitHub ื•ื”ื•ืจื™ื“ื• ืืช ื”ื’ืจืกื” ื”ืื—ืจื•ื ื”:
    • ืงื•ื‘ืฅ ื”ืชืงื ื”: TypesetOK-Setup.exe
    • ืื• ื—ื‘ื™ืœื” ื ื™ื™ื“ืช: ืงื•ื‘ืฅ .zip ืœื—ื™ืœื•ืฅ ืœืœื ื”ืชืงื ื”.
  2. ื”ืคืขืœื”:
    • ื‘ืงื•ื‘ืฅ ื”ืชืงื ื”: ื”ืคืขื™ืœื• ืืช ื”ืืฉืฃ ื•ืขืงื‘ื• ืื—ืจ ื”ื”ื•ืจืื•ืช.
    • ื‘ืงื•ื‘ืฅ ZIP: ื—ืœืฆื• ืืช ื”ืชื™ืงื™ื™ื” ื•ืœื—ืฆื• ืœื—ื™ืฆื” ื›ืคื•ืœื” ืขืœ TypesetOK.exe.
  3. ืชื—ื™ืœืช ืขื‘ื•ื“ื” ื‘ืžืกืžืš:
    • ื‘ืžืกืš ื”ืคืชื™ื—ื” ื‘ื—ืจื• ืชื‘ื ื™ืช ืžื•ื›ื ื” (ืœืžืฉืœ "ืกืคืจ ืจืฆื™ืฃ") ืื• ืฆืจื• ืžืกืžืš ื—ื“ืฉ.
    • ื”ื“ื‘ื™ืงื•, ื”ืงืœื™ื“ื• ืื• ื™ื‘ืื• (Ctrl+I) ืืช ื”ื˜ืงืกื˜ ืฉืœื›ื.
    • ื›ื•ื•ื ื ื• ืฉื•ืœื™ื™ื, ืžืจื•ื•ื—ื™ื ื•ื’ื•ืคื ื™ื ื‘ืืžืฆืขื•ืช ืกืจื’ืœื™ ื”ื›ืœื™ื.
    • ืฉืžืจื• ืืช ื”ืคืจื•ื™ืงื˜ (Ctrl+S) ื•ื™ื™ืฆืื• ืœ-PDF ื‘ืœื—ื™ืฆืช ื›ืคืชื•ืจ (Ctrl+E).

ืงื™ืฆื•ืจื™ ืžืงืฉื™ื ื ืคื•ืฆื™ื

ืคืขื•ืœื” ืงื™ืฆื•ืจ ืžืงืฉื™ื (ืขื‘ืจื™ืช / ืื ื’ืœื™ืช)
ืžืกืžืš ื—ื“ืฉ Ctrl + N
ืคืชื™ื—ืช ืžืกืžืš Ctrl + O
ื™ื‘ื•ื ืžืกืžืš (ื˜ืงืกื˜ / Markdown) Ctrl + I
ืฉืžื™ืจืช ืžืกืžืš Ctrl + S / Ctrl + ื“
ืฉืžื™ืจื” ื‘ืฉื Ctrl + Shift + S
ื™ื™ืฆื•ื ืœ-PDF ืœื“ืคื•ืก Ctrl + E / Ctrl + ืง
ื‘ื™ื˜ื•ืœ ืคืขื•ืœื” (Undo) Ctrl + Z / Ctrl + ื–
ื‘ื™ืฆื•ืข ื—ื•ื–ืจ (Redo) Ctrl + Y
ืชืฆื•ื’ืช ืขืžื•ื“ื™ื Ctrl + 1
ืชืฆื•ื’ื” ืžืคื•ืฆืœืช (ืขื•ืจืš + ืขืžื•ื“ื™ื) Ctrl + 2
ืขื•ืจืš ื˜ืงืกื˜ ื‘ืœื‘ื“ Ctrl + 3
ื”ื’ื“ืœืช ื–ื•ื Ctrl + + / Ctrl + =
ื”ืงื˜ื ืช ื–ื•ื Ctrl + -
ื”ืชืืžืช ืขืžื•ื“ ืœื—ืœื•ืŸ Ctrl + 0
ื”ื•ืกืคืช ืขืžื•ื“ ื—ื“ืฉ Ctrl + Enter
ืœื•ื— ืคืงื•ื“ื•ืช ื•ืคืขื•ืœื•ืช ืžื”ื™ืจ Ctrl + K

ืฉืืœื•ืช ื ืคื•ืฆื•ืช (FAQ)

  • ื”ืื ื”ืชื•ื›ื ื” ื—ื™ื ืžื™ืช?
    ื›ืŸ, ืœืฉื™ืžื•ืฉ ืื™ืฉื™, ืœื™ืžื•ื“ื™ ื•ืœื-ืžืกื—ืจื™ (ื‘ื”ืชืื ืœืจื™ืฉื™ื•ืŸ TOK-NCCL v1.1). ืฉื™ืžื•ืฉ ืžืกื—ืจื™ ืžื•ืกื“ืจ ื‘ื ืคืจื“ ืžื•ืœ ื‘ืขืœื™ ื”ื–ื›ื•ื™ื•ืช.
  • ื”ืื ืฆืจื™ืš ื—ื™ื‘ื•ืจ ืœืื™ื ื˜ืจื ื˜?
    ืœื. TypesetOK ื”ื™ื ืชื•ื›ื ื” ืฉื•ืœื—ื ื™ืช ืžืงื•ืžื™ืช (Offline). ื›ืœ ื”ืขื‘ื•ื“ื” ื•ื”ืžืกืžื›ื™ื ืฉืœื›ื ื ืฉืžืจื™ื ืืฆืœื›ื ื‘ืžื—ืฉื‘ ื‘ืœื‘ื“.
  • ืื™ืœื• ื’ื•ืคื ื™ื ื›ืœื•ืœื™ื ื‘ืชื•ื›ื ื”?
    ื”ืชื•ื›ื ื” ื›ื•ืœืœืช ื’ื•ืคื ื™ื ืขื‘ืจื™ื™ื ืื™ื›ื•ืชื™ื™ื ื‘ืจื™ืฉื™ื•ืŸ ื—ื•ืคืฉื™ (ื›ื’ื•ืŸ Frank Ruhl Libre, Noto Rashi, David Libre ื•ืขื•ื“), ื•ืžืืคืฉืจืช ืฉื™ืžื•ืฉ ื‘ื’ื•ืคื ื™ื ื”ืžื•ืชืงื ื™ื ื‘ืžื—ืฉื‘ื›ื.
  • ื‘ืื™ื–ื” ืฉืœื‘ ื ืžืฆื ื”ืคืจื•ื™ืงื˜?
    ื”ืชื•ื›ื ื” ื ืžืฆืืช ื‘ืคื™ืชื•ื— ืคืขื™ืœ (ื’ืจืกื” 0.3.30). ื ืฉืžื— ืžืื•ื“ ืœืฉืžื•ืข ื”ืขืจื•ืช, ื“ื™ื•ื•ื—ื™ ืชืงืœื•ืช ื•ื‘ืงืฉื•ืช ื‘ื“ืฃ ื”-Issues.

ืžื‘ื ื” ื”ืžืขืจื›ืช ื•ื”ืืจื›ื™ื˜ืงื˜ื•ืจื”

TypesetOK ื‘ื ื•ื™ื” ื‘ืืจื›ื™ื˜ืงื˜ื•ืจื” ืžื•ื“ื•ืœืจื™ืช ื”ืžืคืจื™ื“ื” ื‘ืื•ืคืŸ ืงืฉื™ื— ื‘ื™ืŸ ื—ื™ืฉื•ื‘ื™ ื”ื˜ื™ืคื•ื’ืจืคื™ื” ืœื‘ื™ืŸ ืฉื›ื‘ืช ื”ืชืฆื•ื’ื” ื”ืฉื•ืœื—ื ื™ืช:

  • ืœื™ื‘ืช ืขื™ืžื•ื“ ื•ื˜ื™ืคื•ื’ืจืคื™ื” ื‘-Rust (crates/):
    • tok-core: ืžื•ื“ืœ ื”ืžืกืžืš (TDM), ืขืฅ ื”ื™ืจืจื›ื™ ื“ื˜ืจืžื™ื ื™ืกื˜ื™, ื”ื™ืกื˜ื•ืจื™ื™ืช ืฉื™ื ื•ื™ื™ื ื•ื˜ืจื ื–ืงืฆื™ื•ืช ื‘ื™ื˜ื•ืœ/ื‘ื™ืฆื•ืข ื—ื•ื–ืจ (Undo/Redo).
    • tok-typeset: ืžื ื•ืข ื”ืคืจื™ืกื” ื”ืจืืฉื™, ืขื™ืฆื•ื‘ ื’ื•ืคื ื™ื ืžืชืงื“ื (HarfBuzz / rustybuzz), ืืœื’ื•ืจื™ืชื Knuth-Plass ืœืฉื‘ื™ืจืช ืคืกืงืื•ืช, ื•ื™ื™ืฉื•ืจ ืขื‘ืจื™ ืžืกื•ืจืชื™.
    • tok-pdf: ื”ืคืงืช ืงื•ื‘ืฆื™ PDF ื•ืงื˜ื•ืจื™ื™ื ื™ืฉื™ืจื™ื, ื”ื˜ืžืขืช ื’ื•ืคื ื™ื (Subsetting) ื•ืชืžื™ื›ื” ื‘ืคื•ืจืžื˜ื™ ืงื“ื-ื“ืคื•ืก.
    • tok-storage: ื ื™ื”ื•ืœ ืืจื›ื™ื‘ ื”ืคืจื•ื™ืงื˜ (.tok), ื“ื—ื™ืกื”, ื•ืฉืžื™ืจื” ื“ื˜ืจืžื™ื ื™ืกื˜ื™ืช.
    • tok-cli / tok-ipc: ืžืžืฉืง ืฉื•ืจืช ืคืงื•ื“ื” ื•ืชืงืฉื•ืจืช ื‘ื™ืŸ-ืชื”ืœื™ื›ื™ืช (IPC) ื™ืขื™ืœื”.
  • ืžืขื˜ืคืช ืฉื•ืœื—ืŸ ืขื‘ื•ื“ื” ื‘-TypeScript & Electron (packages/):
    • tok-canvas: ืงื ื‘ืก ืชืฆื•ื’ื” ืžื”ื™ืจ ื”ืžืฆื™ื’ ื›ืคื•ืœื•ืช ืขืžื•ื“ื™ื ืขืœ ื‘ืกื™ืก ื—ื™ืฉื•ื‘ื™ ื”ืคืจื™ืกื” ื”ืžื“ื•ื™ืงื™ื ืฉืœ ื”ืœื™ื‘ื”.
    • tok-story-editor: ืขื•ืจืš ื˜ืงืกื˜ ืจืฆื™ืฃ ืžื•ื“ืจื ื™ ื”ืžืืคืฉืจ ืขื‘ื•ื“ื” ืฉื•ื˜ืคืช ืขืœ ืชื•ื›ืŸ ื”ืžืกืžืš.
    • tok-ui: ืกื‘ื™ื‘ืช ื”ืขื‘ื•ื“ื” ื”ืจืืฉื™ืช, ืกืจื’ืœื™ ื›ืœื™ื, ืœื•ื— ืคืงื•ื“ื•ืช (Ctrl+K), ืคืื ืœื™ื ื•ืกื’ื ื•ื ื•ืช.
    • tok-electron: ืžืขื˜ืคืช ื”ืืคืœื™ืงืฆื™ื” ื”ืฉื•ืœื—ื ื™ืช ื”ืžืงื•ืžื™ืช ืœ-Windows.

ืœืžืคืชื—ื™ื: ื”ืจืฆื” ืžืงื•ื“ ืžืงื•ืจ

ืœืžืขื•ื ื™ื™ื ื™ื ืœืชืจื•ื ืœืงื•ื“, ืœื‘ื ื•ืช ืขืฆืžืื™ืช ืื• ืœื”ืจื™ืฅ ืกื‘ื™ื‘ืช ืคื™ืชื•ื—:

ื“ืจื™ืฉื•ืช:

ื”ื•ืจืื•ืช ื”ืจืฆื”:

# ืฉื›ืคื•ืœ ื”ืžืื’ืจ
git clone https://github.com/TypesetOK/typesetok.git
cd typesetok

# ื”ืชืงื ืช ืชืœื•ื™ื•ืช ืฆื“-ืœืงื•ื— ื•ื‘ื ื™ื™ื”
npm install
npm run build

# ื”ืจืฆืช ื‘ื“ื™ืงื•ืช
npm test
cargo test --workspace

# ื”ืคืขืœืช ื”ืืคืœื™ืงืฆื™ื” ื”ืฉื•ืœื—ื ื™ืช
npm start

ืชื ืื™ ืฉื™ืžื•ืฉ ื•ืจื™ืฉื™ื•ืŸ

ื”ืชื•ื›ื ื” ืžื•ืคืฆืช ืชื—ืช ืจื™ืฉื™ื•ืŸ TOK-NCCL v1.1 (TypesetOK Source-Available Non-Commercial Copyleft License):

  • ืฉื™ืžื•ืฉ ืื™ืฉื™, ืœื™ืžื•ื“ื™ ื•ืชื•ืจื ื™ ืœื-ืžืกื—ืจื™: ืžื•ืชืจ ื•ื—ื•ืคืฉื™.
  • ื ื’ื–ืจื•ืช ื•ื”ืจื—ื‘ื•ืช: ื›ืœ ื’ืจืกื” ื ื’ื–ืจืช ื—ื™ื™ื‘ืช ืœื”ื™ืฉืืจ ืชื—ืช ืื•ืชื• ืจื™ืฉื™ื•ืŸ ื•ื‘ืงื•ื“ ืžืงื•ืจ ื’ืœื•ื™.
  • ืฉื™ืžื•ืฉ ืžืกื—ืจื™: ืžื—ื™ื™ื‘ ืจื™ืฉื™ื•ืŸ ืžืกื—ืจื™ ื ืคืจื“ ืžื™ื•ืฆืจื™ ื”ืชื•ื›ื ื”.

English

What is TypesetOK?

TypesetOK (TOK) is a modern desktop publishing (DTP) application designed for typesetting Hebrew books, literature, and traditional sacred texts.

Instead of relying on legacy monolithic software or overly complex design suites, TypesetOK offers a clean, visual, and approachable desktop workspace tailored specifically to the unique needs of Hebrew typography and book publishing.


Key Features

1. Hebrew Typography & Advanced Typesetting

  • Natural Hebrew Justification: Balanced word spacing combined with traditional expanding letters (Ahalterm: ื, ื”, ืœ, ืช, ืจ, ื) and the Knuth-Plass optimal line-breaking algorithm to deliver harmonious, readable columns.
  • Paragraph & Flow Control: Precise space before/after, first-line indentation, margin collapsing, and orphan/widow suppression.
  • Native RTL & Bidirectional Text: Natural right-to-left layout across the entire environment, with seamless handling of embedded numbers and Latin phrases (Unicode BiDi).

2. High-Fidelity Niqqud, Cantillation & Sacred Texts

  • Vocalization & Cantillation Marks: Comprehensive rendering support for vocalized Hebrew (niqqud) and biblical cantillation accents (ta'amei ha-mikra) powered by advanced font shaping (rustybuzz / HarfBuzz).
  • Canonical Unicode Normalization: Automated normalization and ordering (base character, shin/sin dot, dagesh, vowel, accent) preventing glyph collisions and floating diacritics.
  • Sacred Names Protection: Guard against improper word splitting and line breaks across holy names (Tetragrammaton and divine names).
  • Hebrew Page Numbering (Gematria): Automatic traditional Hebrew numeral conversion following standard liturgical conventions (including ื˜ืดื•, ื˜ืดื–, and formal gershayim punctuation).

3. Visual Two-Page Spread & Live Workspace

  • Facing Pages (Spread Canvas): Realistic two-page book spread reflecting the layout engine's exact geometry and margins.
  • Integrated Story Editor & Split View: Distraction-free continuous text editing alongside a synchronized real-time typesetting canvas preview.
  • Fluid Zoom & Navigation: Canvas zoom controls, fit-to-window preset, and multi-touch trackpad pinch-to-zoom and two-finger panning.

4. Document Import & Ready-to-Use Templates

  • Effortless Document Import: Seamlessly import plain text (.txt), Markdown files, or existing TypesetOK project documents (.tok).
  • Continuous Book: Clean single-column layout for novels, essays, and continuous prose.
  • Book with Footnotes: Main narrative with dynamic footnote frames anchored to citations.
  • Two-Column Booklet: Elegant dual-column format for bulletins, pamphlets, and communal newsletters.
  • Talmud & Rabbinic Commentary: Multi-flow page layouts designed for central text accompanied by surrounding commentaries (Tzurat HaDaf).

5. Project Storage & Direct Vector PDF Export

  • Direct PDF Generation: Output crisp vector PDF files directly from the layout engine, complete with font subsetting, ready for digital distribution or professional printing.
  • Unified Project Archive (.tok): Comprehensive project container preserving document tree, typography settings, styles, and geometry.

Getting Started (Windows)

  1. Download: Head to the Releases page and grab either the standalone ZIP or the setup installer (TypesetOK-Setup.exe).
  2. Launch: Run TypesetOK.exe directly (no developer setup required).
  3. Start Layout: Choose a template or create a blank document, paste, type, or import (Ctrl+I) your text, adjust margins and styles, save (Ctrl+S), and export to PDF (Ctrl+E).

Keyboard Shortcuts

Action Shortcut (English / Hebrew Layout)
New Document Ctrl + N
Open Document Ctrl + O
Import Document (Text / Markdown) Ctrl + I
Save Document Ctrl + S / Ctrl + ื“
Save As Ctrl + Shift + S
Export to Print PDF Ctrl + E / Ctrl + ืง
Undo Ctrl + Z / Ctrl + ื–
Redo Ctrl + Y
Pages View Ctrl + 1
Split View (Editor + Pages) Ctrl + 2
Text Editor View Ctrl + 3
Zoom In Ctrl + + / Ctrl + =
Zoom Out Ctrl + -
Fit Page to Window Ctrl + 0
Add New Page Ctrl + Enter
Typesetting Command Palette Ctrl + K

Frequently Asked Questions (FAQ)

  • Is TypesetOK free to use?
    Yes, for personal study, community, educational, and non-commercial publishing under the TOK-NCCL v1.1 license. Commercial publishing or hosted typesetting services require a dedicated commercial license from the project authors.
  • Does it require an internet connection?
    No. TypesetOK is a 100% offline desktop application. Your manuscripts, documents, and data remain strictly local on your computer.
  • Which Hebrew fonts are included?
    The application includes high-quality open-source Hebrew typefaces (such as Frank Ruhl Libre, Noto Rashi Hebrew, David Libre, and Noto Serif Hebrew) licensed under the SIL Open Font License, and also supports local fonts installed on your operating system.
  • What is the current project status?
    TypesetOK is under active development (current release v0.3.30). Community feedback, bug reports, and typographical suggestions are welcomed on the GitHub Issues page.

Architecture & Technology Stack

TypesetOK features a decoupled architecture strictly separating high-performance typography computation from the desktop UI layer:

  • High-Performance Rust Core (crates/):
    • tok-core: The Document Model (TDM) tree, transactional undo/redo history, and deterministic state management.
    • tok-typeset: The core layout and typography engine, HarfBuzz / rustybuzz font shaping, Knuth-Plass paragraph breaking, and Hebrew justification.
    • tok-pdf: Direct vector PDF generation with font subsetting and pre-press geometry boxes.
    • tok-storage: Project archive container (.tok), compression, and asset serialization.
    • tok-cli / tok-ipc: Native command-line interface and inter-process communication bridge.
  • Desktop Workbench in TypeScript & Electron (packages/):
    • tok-canvas: High-performance facing-pages canvas accurately reflecting layout engine geometry.
    • tok-story-editor: Integrated distraction-free narrative editor for continuous writing.
    • tok-ui: Workbench shell, ribbon toolbars, command palette (Ctrl+K), inspector panels, and modals.
    • tok-electron: Native Windows desktop shell running fully offline.

Developer Quickstart

For contributors, building from source, or setting up a local development environment:

Prerequisites:

Build & Run Instructions:

# Clone repository
git clone https://github.com/TypesetOK/typesetok.git
cd typesetok

# Install dependencies and build TypeScript & UI bundle
npm install
npm run build

# Run test suites (TypeScript & Rust)
npm test
cargo test --workspace

# Launch desktop application
npm start

License

TypesetOK is licensed under the TOK-NCCL v1.1 (Source-Available Non-Commercial Copyleft License):

  • Free for Personal & Non-Commercial Use: Personal study, community, and non-commercial publishing.
  • Share-Alike: Modifications and derivative works must remain under the same license.
  • Commercial Use: Requires a separate commercial license.

About

Modern open-source desktop publishing and typesetting software for precise document layout and professional typography.

Topics

Resources

Code of conduct

Contributing

Stars

9 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages