|
1 | 1 | # Text2Pen |
2 | 2 |
|
3 | | -Text2Pen is a Windows tool that converts typed text into handwritten-style input directly inside Microsoft OneNote. |
| 3 | +Text2Pen converts typed text into handwritten-style mouse input. |
| 4 | +It is built for Microsoft OneNote on Windows and also supports Linux-based drawing workflows. |
4 | 5 |
|
5 | 6 | --- |
6 | 7 |
|
7 | 8 | ## 🖊️ What is Text2Pen? |
8 | 9 |
|
9 | | -Text2Pen lets you type any text and have it automatically "written" into OneNote as handwritten ink — no stylus required. |
10 | | -It is especially useful for students, note-takers, and anyone who wants the aesthetic of handwritten notes without the effort. |
| 10 | +Text2Pen lets you type text and have it drawn as handwriting strokes. |
| 11 | +You train characters once, then reuse your handwriting profile for normal text and tab-separated tables. |
11 | 12 |
|
12 | 13 | --- |
13 | 14 |
|
14 | | -## ✨ Why is it cool? |
| 15 | +## ✨ Features |
15 | 16 |
|
16 | | -- **Type, don't write** — produce handwritten-looking notes at typing speed |
17 | | -- **OneNote integration** — output goes directly into your open OneNote page |
18 | | -- **Table support** — paste tab-separated content and it is inserted as a table |
19 | | -- **AI sidebar** — chat assistant with image-upload support built right into the app *(backend temporarily unavailable — see Limitations)* |
20 | | -- **Automatic updates** — the updater keeps Text2Pen and itself up to date silently in the background, with SHA-256 hash verification for every download |
21 | | -- **Privacy-first** — completely offline by default; optional anonymous telemetry is opt-in only |
| 17 | +- **Text → handwriting** with your own trained character strokes |
| 18 | +- **Table drawing** from tab-separated input |
| 19 | +- **Cross-platform binaries** for Windows, Linux x86_64, and Linux arm64 |
| 20 | +- **AI tools** (chat + quick text actions + optional image input) |
| 21 | +- **Automatic updates** with per-asset SHA-256 verification |
| 22 | +- **Progress UI** in-app progress + optional always-on-top overlay |
| 23 | +- **Optional telemetry** (opt-in crash/error diagnostics) |
22 | 24 |
|
23 | 25 | --- |
24 | 26 |
|
25 | 27 | ## 🚀 Installation |
26 | 28 |
|
27 | | -1. Download the latest **Installer.exe** from the [Releases](https://github.com/pythonIsFast/Text2Pen/releases/latest) page. |
28 | | -2. Run `Installer.exe` and click **Install**. |
29 | | - - `Text2Pen.exe` is placed in `%LOCALAPPDATA%\Text2Pen\`. |
30 | | - - A Start-Menu shortcut is created automatically. |
31 | | - - The updater (`Update.exe`) is registered to run on startup. |
32 | | -3. Launch **Text2Pen** from the Start Menu. |
| 29 | +1. Open the latest [Release](https://github.com/pythonIsFast/Text2Pen/releases/latest). |
| 30 | +2. Download the installer asset for your platform: |
| 31 | + - **Windows:** `Installer.exe` |
| 32 | + - **Linux x86_64:** `Installer-linux-x86_64` |
| 33 | + - **Linux arm64:** `Installer-linux-arm64` |
| 34 | +3. Run the installer. |
| 35 | +4. Start **Text2Pen** from the Start menu / app launcher. |
33 | 36 |
|
34 | | -## ▶️ Usage |
| 37 | +The installer places app files in: |
| 38 | +- **Windows:** `%LOCALAPPDATA%\Text2Pen` |
| 39 | +- **Linux:** `~/.local/share/Text2Pen` |
35 | 40 |
|
36 | | -1. Open Microsoft OneNote and navigate to the page where you want to write. |
37 | | -2. Start **Text2Pen**. |
38 | | -3. Type (or paste) your text into the input field. |
39 | | -4. Click **Write** — Text2Pen will inject the text as handwritten ink into OneNote. |
| 41 | +It also installs the updater as an autostart entry. |
40 | 42 |
|
41 | | -### Uninstallation |
| 43 | +### Uninstall |
42 | 44 |
|
43 | | -Run `Installer.exe` again and click **Uninstall**. All files and shortcuts are removed automatically. |
| 45 | +Run the installer again and choose **Uninstall**. |
44 | 46 |
|
45 | 47 | --- |
46 | 48 |
|
47 | | -## 📋 Features |
| 49 | +## ▶️ Usage |
48 | 50 |
|
49 | | -| Feature | Details | |
50 | | -|---|---| |
51 | | -| Text → Handwriting | Converts typed text to handwritten ink in OneNote | |
52 | | -| Table input | Tab-separated text is inserted as a table | |
53 | | -| AI Chat Sidebar | Built-in assistant with chat and image upload | |
54 | | -| Automatic Updates | Background updater with SHA-256 integrity verification | |
55 | | -| Optional Telemetry | Anonymous crash/error reporting (opt-in, disabled by default) | |
56 | | -| Windows-native | Deep integration via Win32 API | |
| 51 | +### Windows |
57 | 52 |
|
58 | | ---- |
| 53 | +1. Open Microsoft OneNote. |
| 54 | +2. Start Text2Pen. |
| 55 | +3. Enter your text. |
| 56 | +4. Click **Start writing** (Text2Pen focuses OneNote and writes into it). |
59 | 57 |
|
60 | | -## ⚠️ Limitations |
| 58 | +### Linux |
61 | 59 |
|
62 | | -- **Windows only** — Text2Pen uses the Win32 API and only runs on Windows (Linux build coming soon!). |
63 | | -- **Requires Microsoft OneNote** — the desktop or Web version must be open and in focus when writing. |
64 | | -- **Backend / AI features temporarily unavailable** — some backend-dependent features (AI chat, AI text generation) are currently disabled due to legal reasons. |
| 60 | +1. Open the target app/page where text should be drawn. |
| 61 | +2. Start Text2Pen. |
| 62 | +3. Enter your text. |
| 63 | +4. Click **Start writing**, then pick the start position in the screenshot picker. |
65 | 64 |
|
66 | 65 | --- |
67 | 66 |
|
68 | | -## ⚠️ Disclaimer |
69 | | - |
70 | | -> **Use Text2Pen entirely at your own risk.** |
| 67 | +## ⚠️ Requirements and limitations |
71 | 68 |
|
72 | | -- Text2Pen automates input into Microsoft OneNote, which **may violate Microsoft's Terms of Service**. Use it only for personal, non-commercial purposes. |
73 | | -- The tool may overwrite, modify, or delete OneNote content if used incorrectly. |
74 | | -- The developers are **not liable** for any loss of data, application crashes, or other unintended effects. |
75 | | -- Always **save your work** before using Text2Pen. |
76 | | -- Text2Pen may replace or update its executable files automatically. Only run it if you trust the source. |
| 69 | +- **Windows mode depends on OneNote detection** (a visible OneNote window must be found). |
| 70 | +- **Linux writing needs `/dev/uinput` access** (configure udev/group permissions for non-root usage). |
| 71 | +- **AI features require internet and backend availability** and may be rate-limited. |
| 72 | +- **Input automation can affect other apps** if focus/target position is wrong. |
77 | 73 |
|
78 | 74 | --- |
79 | 75 |
|
80 | | -## 🔒 Privacy Policy |
81 | | - |
82 | | -### 1. Overview |
83 | | - |
84 | | -Text2Pen respects your privacy. The application works completely **offline by default**. No personal data is collected without your explicit consent. |
85 | | - |
86 | | -### 2. Telemetry (Optional, Opt-In) |
87 | | - |
88 | | -Text2Pen offers optional anonymous telemetry to help improve stability and reliability. |
89 | | - |
90 | | -- Telemetry is **disabled by default** and only enabled if you explicitly opt in. |
91 | | -- You can change this setting at any time in the application settings. |
92 | | - |
93 | | -### 3. What data is collected (if enabled) |
94 | | - |
95 | | -If telemetry is enabled, the following anonymous technical data may be sent: |
96 | | - |
97 | | -- Application error and crash reports |
98 | | -- Operating system type (e.g. Windows) |
99 | | -- Timestamp of the error |
100 | | -- Sanitized error messages (no usernames, no file contents) |
101 | | - |
102 | | -### 4. What data is NOT collected |
103 | | - |
104 | | -Text2Pen never collects: |
105 | | - |
106 | | -- Names, email addresses, or account data |
107 | | -- Typed or drawn text content |
108 | | -- Mouse or keyboard recordings |
109 | | -- Hardware identifiers |
110 | | -- Location data |
111 | | - |
112 | | -### 5. Data processing location |
| 76 | +## ⚠️ Disclaimer |
113 | 77 |
|
114 | | -Telemetry data may be processed on servers outside the European Union. Only anonymous technical data is transmitted. |
| 78 | +> **Use Text2Pen at your own risk.** |
115 | 79 |
|
116 | | -### 6. Purpose of data processing |
| 80 | +- Text2Pen automates desktop input and may produce unintended edits. |
| 81 | +- Verify target window/position before starting a run. |
| 82 | +- Save your work before use. |
117 | 83 |
|
118 | | -Telemetry data is used exclusively for debugging errors, improving application stability, and fixing crashes. No tracking, profiling, or advertising is performed. |
| 84 | +--- |
119 | 85 |
|
120 | | -### 7. Opt-out |
| 86 | +## 🔒 Privacy |
121 | 87 |
|
122 | | -You can disable telemetry at any time in the application settings. Once disabled, no further telemetry data will be sent. |
| 88 | +- Text2Pen works locally by default. |
| 89 | +- Telemetry is **off by default** and only enabled by explicit opt-in. |
| 90 | +- Opted-in telemetry is intended for diagnostics (e.g., crash/error reporting). |
123 | 91 |
|
124 | | -### 8. Contact |
| 92 | +For questions, open an [issue](https://github.com/pythonIsFast/Text2Pen/issues). |
125 | 93 |
|
126 | | -If you have questions about privacy or data handling, please open a [GitHub Issue](https://github.com/pythonIsFast/Text2Pen/issues). |
| 94 | +--- |
127 | 95 |
|
128 | 96 | ## 🤝 Contributing |
129 | 97 |
|
130 | | -Contributions are welcome and appreciated. |
131 | | - |
132 | | -### How to contribute |
| 98 | +Contributions are welcome. |
133 | 99 |
|
134 | 100 | 1. Fork the repository |
135 | | -2. Create a new branch (`feature/your-feature-name`) |
136 | | -3. Make your changes |
137 | | -4. Commit your changes |
138 | | -5. Open a pull request |
139 | | - |
140 | | -### What you can contribute |
141 | | - |
142 | | -- Bug fixes |
143 | | -- Performance improvements |
144 | | -- UI/UX enhancements |
145 | | -- Documentation improvements |
146 | | - |
147 | | -### Guidelines |
148 | | - |
149 | | -- Keep changes focused and minimal |
150 | | -- Write clear commit messages |
151 | | -- Ensure the application still works correctly |
152 | | - |
153 | | -For larger changes, please open an issue first to discuss your idea. |
| 101 | +2. Create a feature branch |
| 102 | +3. Make focused changes |
| 103 | +4. Open a pull request |
154 | 104 |
|
155 | 105 | --- |
156 | 106 |
|
157 | 107 | ## 📜 License |
158 | 108 |
|
159 | | -Text2Pen Backend is licensed under the **GNU General Public License v3.0 (GPL-3.0)**. |
160 | | - |
161 | | -See the [LICENSE](LICENSE) file for details. |
| 109 | +Text2Pen is licensed under the **GNU General Public License v3.0 (GPL-3.0)**. |
| 110 | +See [LICENSE](LICENSE). |
162 | 111 |
|
163 | 112 | --- |
164 | 113 |
|
165 | | -## 🔗 Related Projects |
166 | | - |
167 | | -- **[Text2Pen Backend](https://github.com/pythonIsFast/Text2Pen-Backend)** — the Text2Pen Backend |
| 114 | +## 🔗 Related projects |
168 | 115 |
|
169 | | ---- |
| 116 | +- **[Text2Pen Backend](https://github.com/pythonIsFast/Text2Pen-Backend)** |
0 commit comments