OpenJTD: Project to Reverse-Engineer Ichitaro Word Processor Files Used in Japan

nogajun1 pts0 comments

GitHub - KimEJ/OpenJTD: Open-source JTD rendering engine and editor project for Ichitaro documents · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

Search code, repositories, users, issues, pull requests...

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

KimEJ

OpenJTD

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>10 Commits<br>10 Commits

docs

docs

openjtd-samples

openjtd-samples

openjtd-spec

openjtd-spec

openjtd.github.io

openjtd.github.io

rjtd-testdata

rjtd-testdata

rjtd

rjtd

.gitignore

.gitignore

README.ja.md

README.ja.md

README.md

README.md

TODO.ja.md

TODO.ja.md

TODO.md

TODO.md

View all files

Repository files navigation

OpenJTD

Open-source JTD rendering engine and editor project for Ichitaro documents<br>(.jtd, .jtt, and .jttc).

OpenJTD aims to become an open-source JTD rendering engine and editor. The<br>current phase focuses on rjtd, a Rust toolset that builds the components<br>needed to get there: container inspection, text extraction, document modeling,<br>export, and viewer integration. The longer-term technical milestone is a<br>practical JTD engine that can support faithful layout rendering and editing.

Current rjtd Components

CFB/OLE container inventory for .jtd, .jtt, and .jttc files, including<br>lenient fallback handling for malformed files.

Text extraction from observed /DocumentText streams.

Observed .jttc JustCompressedDocument and -lh5- payload support.

Embedded SsmgV.01 / TextV.01 fragment recovery for files without a named<br>/DocumentText stream.

Minimal Document Model output as plain text, Markdown, JSON, and text-oriented<br>PDF.

Diagnostic parsers for /DocumentTextPositionTables, /LineMark,<br>/PageMark, /PaperMark, and object/control marker research.

WASM wrapper support used by early viewer integration experiments.

rjtd Quick Start

cd rjtd<br>cargo test --workspace

cargo run -p rjtd-cli -- info path/to/document.jtd<br>cargo run -p rjtd-cli -- cat path/to/document.jtd<br>cargo run -p rjtd-cli -- export path/to/document.jtd --format md<br>cargo run -p rjtd-cli -- export path/to/document.jtd --format json<br>cargo run -p rjtd-cli -- export path/to/document.jtd --format pdf -o output.pdf

Repository Layout

rjtd/ - Rust toolset and workspace for the current OpenJTD<br>components: core engine, CLI, exporters, WASM wrapper, and test helpers.

openjtd-spec/ - public specification notes and RFC records.

docs/ - charter, architecture, roadmap, and research policy.

openjtd-samples/ - redistributable sample/output artifacts.

rjtd-testdata/ - test fixtures.

openjtd.github.io/ - future project site.

Documentation

rjtd/README.md describes the rjtd Rust workspace, CLI,<br>exporter, and diagnostic command surface.

openjtd-spec/README.md indexes the specification work and<br>RFC process.

docs/CHARTER.md, docs/ARCHITECTURE.md,<br>and docs/ROADMAP.md explain the project direction.

Design Reference

OpenJTD's repository layout and engine boundaries take inspiration from the<br>rhwp project structure, adapted for JTD.

Project Status

OpenJTD is in the reverse-engineering and component-building stage. It is not<br>yet a complete JTD rendering engine or editor, and the rjtd APIs, data model,<br>and diagnostic commands may still change.

Text extraction works for observed files, but full paragraph semantics, layout<br>fidelity, styles, tables, ruby annotations, images, and native editing behavior<br>are incomplete. PDF and SVG output should be treated as text-oriented fallback<br>output, not native layout reproduction.

Translations

English is the default documentation language. Japanese translations use<br>*.ja.md.

About

Open-source JTD rendering engine and editor project for Ichitaro documents

Resources

Readme

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

fork

Report repository

Releases

No releases published

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

Rust<br>100.0%

You can’t perform that action at this time.

openjtd rjtd project files engine readme

Related Articles