Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 7df4d2b81c | |||
| 7d35f33ff1 | |||
| c19422ffbb | |||
| 2536471d11 |
@@ -0,0 +1,13 @@
|
||||
# Strip upstream (ArtCraft / Discord) branding. Run: perl tools/craft-skills/skills/debrand/debrand.pl . (--check in CI)
|
||||
delete docs/brand
|
||||
# MIT/Apache texts stay verbatim. The copyright holder line stays everywhere (legal requirement).
|
||||
keep ^(LICENSE-(MIT|APACHE)|\.debrand)$
|
||||
dropline ^crates/ui-egui/src/i18n/.*\.tsv$ :: (?i)\t(?!MIT OR Apache).*(?:ArtCraft|Discord)
|
||||
dropline ^ATTRIBUTION\.md$ :: \|\s*`docs/brand/
|
||||
dropline ^assets/spelling/en-extra\.txt$ :: artcraft
|
||||
sub \s*The one exception is the ArtCraft brand files in `docs/brand/`: ArtCraft trademarks, not open source, used under `docs/brand/LICENSE-brand\.txt`\. =>
|
||||
sub (?s)\nThe ArtCraft name, wordmark and logos in docs/brand/.*?LICENSE-brand\.txt\.\n =>
|
||||
sub https://getartcraft\.com/apps/wordcraft => https://github.com/storytold/wordcraft
|
||||
forbid (?im)^(?!\tMIT OR Apache-2\.0)(?!.*Copyright \(c\) 2026 ArtCraft Team).*artcraft
|
||||
forbid (?i)discord
|
||||
sub the Discord pill, =>
|
||||
@@ -0,0 +1,3 @@
|
||||
[submodule "tools/craft-skills"]
|
||||
path = tools/craft-skills
|
||||
url = https://git.marcospaulo.dev.br/storytold/craft-skills.git
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
Every non-code asset in this repository (fonts, icons, images, example documents) is listed here with its author, source and licence. `cargo xtask assets` (part of `cargo xtask ci`) fails if an asset file is missing from this table.
|
||||
|
||||
**Policy (mandatory):** WordCraft contains **no Microsoft, Adobe, Avid or Autodesk iconography, images, templates, themes, clip art, fonts or other assets**. Every asset is original work by WordCraft contributors or third-party material under an open licence (OSI open source, public domain / CC0, or a Creative Commons licence that allows redistribution). Screenshots of other vendors' software are never committed. New font files go to [storytold/craft-fonts](https://github.com/storytold/craft-fonts), not this repo. The one exception is the ArtCraft brand files in `docs/brand/`: ArtCraft trademarks, not open source, used under `docs/brand/LICENSE-brand.txt`.
|
||||
**Policy (mandatory):** WordCraft contains **no Microsoft, Adobe, Avid or Autodesk iconography, images, templates, themes, clip art, fonts or other assets**. Every asset is original work by WordCraft contributors or third-party material under an open licence (OSI open source, public domain / CC0, or a Creative Commons licence that allows redistribution). Screenshots of other vendors' software are never committed. New font files go to [storytold/craft-fonts](https://github.com/storytold/craft-fonts), not this repo.
|
||||
|
||||
Generated-in-code art is original and has no file to list: the UI icon set (`crates/ui-egui/src/icons.rs`), the sample documents and templates (`crates/engine/src/sample.rs`), the table and style previews, and theme colours (`crates/engine/src/cmd/design.rs`).
|
||||
|
||||
@@ -53,15 +53,6 @@ Generated-in-code art is original and has no file to list: the UI icon set (`cra
|
||||
| `docs/images/dark.png` | WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by `ui_shot`) | MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
|
||||
| `docs/images/backstage.png` | WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by `ui_shot`) | MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
|
||||
| `docs/images/layout.png` | WordCraft contributors | screenshot of WordCraft itself (sample document written for WordCraft, rendered by `ui_shot`) | MIT OR Apache-2.0 | Original; no Microsoft UI or assets |
|
||||
| `docs/brand/LICENSE-brand.txt` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-logo-white.png` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-logo-white.svg` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-logo.png` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-logo.svg` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-mark-black.png` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-mark-black.svg` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-mark.png` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| `docs/brand/artcraft-mark.svg` | ArtCraft Team | craftrules `assets/brand/` | ArtCraft trademark, `docs/brand/LICENSE-brand.txt` | Not open source; usable unmodified only |
|
||||
| craft-fonts (optional build input, not files in this repo): BIZ UDPGothic, BIZ UDMincho, Shippori Mincho, Noto Sans CJK SC, Noto Sans Arabic | see https://github.com/storytold/craft-fonts/blob/main/ATTRIBUTION.md | embedded only when built with `CRAFT_FONTS_DIR` (all official releases) | OFL-1.1 | Japanese and Chinese UI, Japanese document fallback |
|
||||
| `crates/ui-egui/src/i18n/uk.tsv` | @dmatviichuk with Codex | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Ukrainian interface catalog; spelling checked with external VESUM and ULIF dictionaries, neither bundled |
|
||||
| `crates/ui-egui/src/i18n/et.tsv` | @henno with Codex | Original translation from the English interface labels in this repository; no other product localisation copied | MIT OR Apache-2.0 | Estonian interface catalog |
|
||||
|
||||
@@ -4,13 +4,14 @@ members = ["crates/*", "apps/*", "xtask"]
|
||||
default-members = ["crates/*", "apps/wordcraft", "apps/wordcraft-cli", "xtask"]
|
||||
|
||||
[workspace.package]
|
||||
version = "0.6.1"
|
||||
version = "0.6.2"
|
||||
edition = "2024"
|
||||
license = "MIT OR Apache-2.0"
|
||||
rust-version = "1.90"
|
||||
repository = "https://github.com/storytold/wordcraft"
|
||||
|
||||
[workspace.dependencies]
|
||||
craft-ui = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e", features = ["serde"] }
|
||||
# internal
|
||||
wordcraft-geom = { path = "crates/geom" }
|
||||
wordcraft-doc = { path = "crates/doc" }
|
||||
|
||||
@@ -3,10 +3,6 @@ Copyright (c) 2026 ArtCraft Team and the WordCraft contributors.
|
||||
Licensed under the MIT License or the Apache License, Version 2.0, at your option
|
||||
(LICENSE-MIT, LICENSE-APACHE).
|
||||
|
||||
The ArtCraft name, wordmark and logos in docs/brand/ are trademarks of the ArtCraft Team. They are
|
||||
not open source and are not covered by the license above; their terms are in
|
||||
docs/brand/LICENSE-brand.txt.
|
||||
|
||||
Third-party material
|
||||
|
||||
This product bundles third-party material under its own licenses, listed below. The per-file
|
||||
|
||||
@@ -1,12 +1,3 @@
|
||||
<p align="center">
|
||||
<a href="https://getartcraft.com/">
|
||||
<picture>
|
||||
<source media="(prefers-color-scheme: dark)" srcset="docs/brand/artcraft-logo-white.svg">
|
||||
<img alt="ArtCraft" src="docs/brand/artcraft-logo.svg" width="200">
|
||||
</picture>
|
||||
</a>
|
||||
</p>
|
||||
|
||||
<h1 align="center">WordCraft</h1>
|
||||
|
||||
<p align="center">
|
||||
@@ -16,8 +7,7 @@
|
||||
<p align="center">
|
||||
A fast, open-source word processor with the Word workflow you already know: the ribbon, styles,
|
||||
tables, track changes, references and mail merge. It reads and writes .docx, runs natively on
|
||||
macOS, Windows, Linux and BSD, and in the browser via WebAssembly.<br>
|
||||
<i>By the ArtCraft team.</i>
|
||||
macOS, Windows, Linux and BSD, and in the browser via WebAssembly.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
@@ -27,16 +17,6 @@
|
||||
<img alt="Agent-drivable over MCP" src="https://img.shields.io/badge/agents-MCP%20%C2%B7%20CLI-3b5bdb?style=flat-square">
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/artcraft"><img alt="Join the ArtCraft community on Discord" src="https://img.shields.io/badge/Join%20us%20on%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" height="40"></a>
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://getartcraft.com/apps/wordcraft"><b>WordCraft on getartcraft.com</b></a> ·
|
||||
<a href="https://getartcraft.com/">ArtCraft</a> ·
|
||||
<a href="https://getartcraft.com/apps">All Crafting Apps</a>
|
||||
</p>
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
@@ -44,11 +24,6 @@
|
||||
<br><sub><b>The Open Studio Handbook</b>, WordCraft's built-in sample: the ribbon, live Styles gallery, rulers and the Navigation pane.</sub>
|
||||
</p>
|
||||
|
||||
> [!NOTE]
|
||||
> **ArtCraft is a community of artists from all walks of life.** Painters, photographers,
|
||||
> filmmakers, illustrators, designers, animators, hobbyists, and people who picked up a pencil
|
||||
> last week. If you make things, you're one of us. **[Come say hi on Discord](https://discord.gg/artcraft).**
|
||||
|
||||
<p align="center">
|
||||
<a href="#a-tour">A tour</a> ·
|
||||
<a href="#why-wordcraft">Why WordCraft</a> ·
|
||||
@@ -304,44 +279,22 @@ For example `yay -S wordcraft-bin` or `paru -S wordcraft-bin`.
|
||||
## The Crafting Apps
|
||||
|
||||
WordCraft is one of the **Crafting Apps**: free, open-source creative tools from the
|
||||
[ArtCraft](https://getartcraft.com/) team, each written from scratch in Rust and each able to
|
||||
[storytold](https://github.com/storytold) team, each written from scratch in Rust and each able to
|
||||
stand on its own.
|
||||
|
||||
| | App | What it's for | Code | Learn more |
|
||||
|:-:|---|---|---|---|
|
||||
| <img src="https://raw.githubusercontent.com/storytold/photocraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.photocraft.png" alt="" width="32" height="32"> | **PhotoCraft** | Image editing: layers, masks, type and real PSD files | [GitHub](https://github.com/storytold/photocraft) | [Website](https://getartcraft.com/apps/photocraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/vectorcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.vectorcraft.png" alt="" width="32" height="32"> | **VectorCraft** | Vector illustration | [GitHub](https://github.com/storytold/vectorcraft) | [Website](https://getartcraft.com/apps/vectorcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/filmcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.filmcraft.png" alt="" width="32" height="32"> | **FilmCraft** | Video editing, color and sound | [GitHub](https://github.com/storytold/filmcraft) | [Website](https://getartcraft.com/apps/filmcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/lightcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.lightcraft.png" alt="" width="32" height="32"> | **LightCraft** | Photo library and raw development | [GitHub](https://github.com/storytold/lightcraft) | [Website](https://getartcraft.com/apps/lightcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/pdfcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.pdfcraft.png" alt="" width="32" height="32"> | **PdfCraft** | Reading, organizing and protecting PDFs | [GitHub](https://github.com/storytold/pdfcraft) | [Website](https://getartcraft.com/apps/pdfcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/effectcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.effectcraft.png" alt="" width="32" height="32"> | **EffectCraft** | Motion graphics and visual effects | [GitHub](https://github.com/storytold/effectcraft) | [Website](https://getartcraft.com/apps/effectcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/designcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.designcraft.png" alt="" width="32" height="32"> | **DesignCraft** | Page layout and publishing | [GitHub](https://github.com/storytold/designcraft) | [Website](https://getartcraft.com/apps/designcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/wordcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.wordcraft.png" alt="" width="32" height="32"> | **WordCraft** | **Writing and document design · you are here** | [GitHub](https://github.com/storytold/wordcraft) | [Website](https://getartcraft.com/apps/wordcraft) |
|
||||
|
||||
And [**ArtCraft**](https://getartcraft.com/) itself, our AI image and video studio for artists who want real control.
|
||||
| | App | What it's for | Code |
|
||||
|:-:|---|---|---|
|
||||
| <img src="https://raw.githubusercontent.com/storytold/photocraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.photocraft.png" alt="" width="32" height="32"> | **PhotoCraft** | Image editing: layers, masks, type and real PSD files | [GitHub](https://github.com/storytold/photocraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/vectorcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.vectorcraft.png" alt="" width="32" height="32"> | **VectorCraft** | Vector illustration | [GitHub](https://github.com/storytold/vectorcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/filmcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.filmcraft.png" alt="" width="32" height="32"> | **FilmCraft** | Video editing, color and sound | [GitHub](https://github.com/storytold/filmcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/lightcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.lightcraft.png" alt="" width="32" height="32"> | **LightCraft** | Photo library and raw development | [GitHub](https://github.com/storytold/lightcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/pdfcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.pdfcraft.png" alt="" width="32" height="32"> | **PdfCraft** | Reading, organizing and protecting PDFs | [GitHub](https://github.com/storytold/pdfcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/effectcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.effectcraft.png" alt="" width="32" height="32"> | **EffectCraft** | Motion graphics and visual effects | [GitHub](https://github.com/storytold/effectcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/designcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.designcraft.png" alt="" width="32" height="32"> | **DesignCraft** | Page layout and publishing | [GitHub](https://github.com/storytold/designcraft) |
|
||||
| <img src="https://raw.githubusercontent.com/storytold/wordcraft/main/assets/app-icon/hicolor/64x64/apps/ai.storyteller.wordcraft.png" alt="" width="32" height="32"> | **WordCraft** | **Writing and document design · you are here** | [GitHub](https://github.com/storytold/wordcraft) |
|
||||
|
||||
<br>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/artcraft"><img alt="Join the ArtCraft community on Discord" src="https://img.shields.io/badge/Join%20us%20on%20Discord-5865F2?style=for-the-badge&logo=discord&logoColor=white" height="40"></a>
|
||||
</p>
|
||||
|
||||
<h3 align="center">Come make things with us</h3>
|
||||
|
||||
<p align="center">
|
||||
Our Discord is where artists of every kind hang out: people who paint, shoot, draw, cut film,
|
||||
set type, and people still figuring out what they like to make. Share what you're working on,
|
||||
ask for help, tell us what's broken, or tell us what you wish these tools could do.
|
||||
Whatever your medium and however long you've been at it, you're welcome here.
|
||||
</p>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://discord.gg/artcraft"><b>discord.gg/artcraft</b></a> ·
|
||||
<a href="https://getartcraft.com/">getartcraft.com</a> ·
|
||||
<a href="https://getartcraft.com/apps">The Crafting Apps</a> ·
|
||||
<a href="https://getartcraft.com/apps/wordcraft">WordCraft</a>
|
||||
</p>
|
||||
|
||||
## License and credits
|
||||
|
||||
WordCraft is dual-licensed under [MIT](LICENSE-MIT) or [Apache-2.0](LICENSE-APACHE), at your option.
|
||||
@@ -355,14 +308,4 @@ Hyphenator II word list. Polish spelling reads the Hunspell `pl_PL` dictionary i
|
||||
Polish hyphenation the TeX patterns by Hanna Kołodziejska, Bogusław Jackowski and Marek Ryćko (MIT
|
||||
option). The sample documents and templates are original text written for WordCraft.
|
||||
|
||||
The ArtCraft name, wordmark and logos in [`docs/brand/`](docs/brand/) are trademarks of the
|
||||
ArtCraft Team and are not covered by this license. They may be used only unmodified, and only as
|
||||
part of this repository and WordCraft, under [`docs/brand/LICENSE-brand.txt`](docs/brand/LICENSE-brand.txt).
|
||||
Forks and modified versions must remove them.
|
||||
|
||||
<sub>Microsoft and Microsoft Word are trademarks of the Microsoft group of companies. Adobe, Photoshop, Illustrator, Premiere Pro, Lightroom, Acrobat, After Effects and InDesign are trademarks or registered trademarks of Adobe Inc. in the United States and/or other countries. WordCraft is an independent, open-source project and is not affiliated with, sponsored by or endorsed by Microsoft Corporation or Adobe Inc.; these names are used only to describe the workflows it is compatible with.</sub>
|
||||
|
||||
<p align="center">
|
||||
<a href="https://getartcraft.com/"><img alt="ArtCraft" src="docs/brand/artcraft-mark.svg" width="28"></a><br>
|
||||
<sub>Made by the <a href="https://getartcraft.com/">ArtCraft</a> team and community.</sub>
|
||||
</p>
|
||||
|
||||
@@ -67,7 +67,7 @@ windows = { version = "0.62", features = ["UI_ViewManagement", "System_UserProfi
|
||||
clipboard-win = { version = "5.4", features = ["std"] }
|
||||
|
||||
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
|
||||
craft-print = { git = "https://github.com/storytold/craft-libs", rev = "d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d" }
|
||||
craft-print = { git = "https://git.marcospaulo.dev.br/masi/craft-libs", rev = "7fcee66b8eef8eac3c7644fd024e1f1b051f5a3e" }
|
||||
rfd = { workspace = true }
|
||||
# Waits for an `rfd::AsyncFileDialog` on a background thread (the dialogs don't block the UI, #94);
|
||||
# rfd itself already depends on it.
|
||||
|
||||
@@ -4,7 +4,6 @@
|
||||
# inflection rules in crates/proof/src/lib.rs, so list "desktop", not "desktops".
|
||||
airbag
|
||||
airfare
|
||||
artcraft
|
||||
autocomplete
|
||||
autocorrect
|
||||
autofill
|
||||
|
||||
@@ -112,7 +112,7 @@ pub fn sample_document() -> Document {
|
||||
add(
|
||||
&mut h,
|
||||
"Visit the community board",
|
||||
CharProps { style: Some("Hyperlink".into()), link: Some("https://getartcraft.com/".into()), ..Default::default() },
|
||||
CharProps { style: Some("Hyperlink".into()), link: Some("https://github.com/storytold/wordcraft".into()), ..Default::default() },
|
||||
);
|
||||
add(&mut h, " for events.", CharProps::default());
|
||||
b.push(Block::Para(h));
|
||||
|
||||
@@ -52,7 +52,7 @@ pub fn export(doc: &Document) -> String {
|
||||
|
||||
let meta = &flow.meta;
|
||||
let mut o = String::new();
|
||||
o.push_str("% Written by WordCraft (https://getartcraft.com/apps/wordcraft).\n");
|
||||
o.push_str("% Written by WordCraft (https://github.com/storytold/wordcraft).\n");
|
||||
o.push_str("\\documentclass{article}\n");
|
||||
o.push_str("\\usepackage[T1]{fontenc}\n");
|
||||
if w.uses.ulem {
|
||||
|
||||
@@ -133,9 +133,9 @@ impl Server {
|
||||
Ok(json!({
|
||||
"protocolVersion": version,
|
||||
"capabilities": {"tools": {}, "resources": {}},
|
||||
"serverInfo": {"name": "wordcraft", "title": "WordCraft", "version": env!("CARGO_PKG_VERSION"), "websiteUrl": "https://getartcraft.com/apps/wordcraft"},
|
||||
"serverInfo": {"name": "wordcraft", "title": "WordCraft", "version": env!("CARGO_PKG_VERSION"), "websiteUrl": "https://github.com/storytold/wordcraft"},
|
||||
"instructions": format!(
|
||||
"{INSTRUCTIONS} Backend: {}. Community: https://discord.gg/artcraft · https://getartcraft.com/apps/wordcraft · https://github.com/storytold/wordcraft",
|
||||
"{INSTRUCTIONS} Backend: {}. Source: https://github.com/storytold/wordcraft",
|
||||
self.backend.describe()
|
||||
),
|
||||
}))
|
||||
|
||||
@@ -9,7 +9,6 @@ description = "WordCraft egui front end (Word-style ribbon UI); swappable: nothi
|
||||
workspace = true
|
||||
|
||||
[dependencies]
|
||||
craft-ui = { git = "https://github.com/storytold/craft-libs", rev = "d27646a5f7c8b4fc85d9dd3213b8c88b58e0088d" }
|
||||
wordcraft-geom = { workspace = true }
|
||||
wordcraft-doc = { workspace = true }
|
||||
wordcraft-fonts = { workspace = true }
|
||||
@@ -17,6 +16,7 @@ wordcraft-layout = { workspace = true }
|
||||
wordcraft-render = { workspace = true }
|
||||
wordcraft-engine = { workspace = true }
|
||||
wordcraft-zotero = { workspace = true }
|
||||
craft-ui = { workspace = true }
|
||||
egui = { workspace = true }
|
||||
serde = { workspace = true }
|
||||
serde_json = { workspace = true }
|
||||
|
||||
@@ -59,7 +59,7 @@ pub fn show(app: &mut WordApp, ui: &mut Ui) {
|
||||
ui.add_space(if mac { 12.0 } else { 6.0 });
|
||||
for (id, label) in PAGES {
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(200.0, 38.0), Sense::click());
|
||||
resp.widget_info(|| egui::WidgetInfo::labeled(egui::WidgetType::Button, ui.is_enabled(), tl!(label)));
|
||||
resp.widget_info(|| egui::WidgetInfo::labeled(egui::WidgetType::Button, ui.is_enabled(), tl!("About")));
|
||||
let active = app.ui.backstage_page == id;
|
||||
if active {
|
||||
ui.painter().rect_filled(r, 0.0, egui::Color32::from_white_alpha(46));
|
||||
@@ -98,19 +98,15 @@ pub fn show(app: &mut WordApp, ui: &mut Ui) {
|
||||
}
|
||||
}
|
||||
ui.with_layout(egui::Layout::bottom_up(egui::Align::Min), |ui| {
|
||||
for (label, id) in [("About", "about"), ("Discord community", "discord")] {
|
||||
{
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(200.0, 32.0), Sense::click());
|
||||
resp.widget_info(|| egui::WidgetInfo::labeled(egui::WidgetType::Button, ui.is_enabled(), tl!(label)));
|
||||
resp.widget_info(|| egui::WidgetInfo::labeled(egui::WidgetType::Button, ui.is_enabled(), tl!("About")));
|
||||
if resp.hovered() {
|
||||
ui.painter().rect_filled(r, 0.0, egui::Color32::from_white_alpha(26));
|
||||
}
|
||||
ui.painter().text(pos2(r.min.x + 22.0, r.center().y), Align2::LEFT_CENTER, tl!(label), regular(13.0), egui::Color32::WHITE);
|
||||
ui.painter().text(pos2(r.min.x + 22.0, r.center().y), Align2::LEFT_CENTER, tl!("About"), regular(13.0), egui::Color32::WHITE);
|
||||
if resp.clicked() {
|
||||
if id == "discord" {
|
||||
let _ = app.run("ui.discord", json!({}));
|
||||
} else {
|
||||
app.dialog = crate::dialogs::Dialog::open("about", app);
|
||||
}
|
||||
app.dialog = crate::dialogs::Dialog::open("about", app);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
@@ -4,7 +4,7 @@ use egui::{Align2, Rect, Sense, Stroke, Ui, pos2, vec2};
|
||||
use serde_json::json;
|
||||
use wordcraft_doc::StoryRef;
|
||||
|
||||
use crate::theme::{Tokens, TypeRung, medium, paint_text, regular, semibold, text_width};
|
||||
use crate::theme::{Tokens, TypeRung, paint_text, regular, semibold, text_width};
|
||||
use crate::{WordApp, icons};
|
||||
|
||||
fn qat_button(ui: &mut Ui, app: &mut WordApp, icon: &str, tip: &str, id: &str, enabled: bool) -> egui::Response {
|
||||
@@ -256,29 +256,13 @@ pub fn title_bar(app: &mut WordApp, ui: &mut Ui) {
|
||||
quick_access(ui, app);
|
||||
qat_end = ui.min_rect().max.x;
|
||||
ui.with_layout(egui::Layout::right_to_left(egui::Align::Center), |ui| {
|
||||
// Account / community.
|
||||
// Account.
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(control_h, control_h), Sense::click());
|
||||
ui.painter().circle_filled(r.center(), control_h / 2.0 - 1.0, t.accent);
|
||||
let initials: String = app.session.user_initials().chars().take(2).collect();
|
||||
ui.painter().text(r.center(), Align2::CENTER_CENTER, initials, semibold(10.5), t.on_accent);
|
||||
resp.on_hover_text(format!("{} — set your name in File › Options", app.session.author));
|
||||
ui.add_space(8.0);
|
||||
if app.ui.show_discord {
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(84.0, 22.0), Sense::click());
|
||||
ui.painter().rect_filled(r, 11.0, if resp.hovered() { t.accent_text } else { t.accent });
|
||||
icons::paint(
|
||||
ui.painter(),
|
||||
Rect::from_center_size(pos2(r.min.x + 13.0, r.center().y), vec2(14.0, 14.0)),
|
||||
"discord",
|
||||
t.on_accent,
|
||||
t.on_accent,
|
||||
);
|
||||
ui.painter().text(pos2(r.min.x + 24.0, r.center().y), Align2::LEFT_CENTER, tl!("Discord"), medium(11.5), t.on_accent);
|
||||
if resp.on_hover_text(tl!("Join the ArtCraft community on Discord")).clicked() {
|
||||
let _ = app.run("ui.discord", json!({}));
|
||||
}
|
||||
ui.add_space(8.0);
|
||||
}
|
||||
// Search ("Tell me").
|
||||
let (r, resp) = ui.allocate_exact_size(vec2(260.0, control_h), Sense::click());
|
||||
ui.painter().rect(r, 6.0, if resp.hovered() { t.input } else { t.ribbon }, Stroke::new(1.0, t.border), egui::StrokeKind::Inside);
|
||||
|
||||
@@ -2328,11 +2328,9 @@ fn body(app: &mut WordApp, ui: &mut Ui, d: &mut Dialog) -> bool {
|
||||
let build = option_env!("WORDCRAFT_BUILD_SHA").map(|s| s.get(..8).unwrap_or(s)).unwrap_or(tl!("development build"));
|
||||
ui.label(crate::i18n::fmt(tl!("Version {version} ({build})"), &[("version", env!("CARGO_PKG_VERSION")), ("build", build)]));
|
||||
ui.label(tl!(
|
||||
"A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team."
|
||||
"A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps."
|
||||
));
|
||||
ui.add_space(6.0);
|
||||
ui.hyperlink_to(tl!("getartcraft.com/apps/wordcraft"), "https://getartcraft.com/apps/wordcraft");
|
||||
ui.hyperlink_to(tl!("Join us on Discord: discord.gg/artcraft"), "https://discord.gg/artcraft");
|
||||
ui.hyperlink_to(tl!("Source code: github.com/storytold/wordcraft"), "https://github.com/storytold/wordcraft");
|
||||
ui.add_space(6.0);
|
||||
ui.label(
|
||||
|
||||
@@ -154,7 +154,7 @@ impl Exempt {
|
||||
|| plain.starts_with('@') // contributor handles
|
||||
|| plain.starts_with("Style") || plain.starts_with("Table Style ") // a new style's default name
|
||||
|| plain.contains('┬') || plain.contains('\u{2061}') // equation input (UnicodeMath), drawn as math
|
||||
|| matches!(plain, "WordCraft" | "WordCraft User" | "Discord" | "https://" | "auto" | "I. II. III." | "i. ii. iii.")
|
||||
|| matches!(plain, "WordCraft" | "WordCraft User" | "https://" | "auto" | "I. II. III." | "i. ii. iii.")
|
||||
|| plain == "CONFIDENTIAL" // the watermark dialog's text: document content, kept as typed
|
||||
|| plain == "Figure 1" // the caption dialog's sample: the label goes into the document as is
|
||||
}
|
||||
|
||||
@@ -19,7 +19,6 @@
|
||||
(no style) (без стил)
|
||||
(no suggestions) (няма предложения)
|
||||
1.5 Line Spacing Междуредие 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Безплатен текстообработващ редактор с отворен код, написан от нулата на Rust.\nЧаст от Crafting Apps на екипа на ArtCraft.
|
||||
About Относно
|
||||
About WordCraft За WordCraft
|
||||
Accept Приемане
|
||||
@@ -221,7 +220,6 @@
|
||||
Comment Коментар
|
||||
Comments Коментари
|
||||
Comments Pane Панел с коментари
|
||||
Community\nDiscord Общност\nв Discord
|
||||
Compact Компактно
|
||||
Compare Сравняване
|
||||
Compress Pictures Компресиране на изображенията
|
||||
@@ -274,8 +272,6 @@
|
||||
Different First Page Различна първа страница
|
||||
Different Odd & Even Pages Различни четни и нечетни страници
|
||||
Direct formatting Директно форматиране
|
||||
Discord Discord
|
||||
Discord community Общност в Discord
|
||||
Display Показване
|
||||
Display for Review Показване за преглед
|
||||
Distribute Columns Разпределяне на колоните
|
||||
@@ -440,8 +436,6 @@
|
||||
Inspect Styles at Selection Проверка на стиловете при селекцията
|
||||
Interface language: Език на интерфейса:
|
||||
Italic Курсив
|
||||
Join the ArtCraft community on Discord Присъединете се към общността на ArtCraft в Discord
|
||||
Join us on Discord: discord.gg/artcraft Присъединете се към нас в Discord: discord.gg/artcraft
|
||||
Justify Двустранно подравняване
|
||||
Keep Lines Together Редовете заедно
|
||||
Keep Text Only Запазване само на текста
|
||||
@@ -1149,7 +1143,6 @@
|
||||
Insert a new equation (Alt+=) Вмъкване на ново уравнение (Alt+=)
|
||||
Leave the equation (Esc) Излизане от уравнението (Esc)
|
||||
Preview Визуализация
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Рисуване с мастило
|
||||
Erase Ink Изтриване на мастило
|
||||
Hide Ink Скриване на мастилото
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 25.
|
@@ -22,7 +22,6 @@
|
||||
1/4 Em Space Čtvrtčtverčíková mezera
|
||||
3-D 3D
|
||||
A file dialog is already open. Dialogové okno souboru je již otevřené.
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Bezplatný textový procesor s otevřeným zdrojovým kódem napsaný od základu v jazyce Rust.\nSoučást sady Crafting Apps od týmu ArtCraft.
|
||||
A mail merge field Pole hromadné korespondence
|
||||
A numbered sequence (figures, tables…) Číslovaná posloupnost (obrázky, tabulky…)
|
||||
A password is required to open this document. K otevření tohoto dokumentu je vyžadováno heslo.
|
||||
@@ -230,7 +229,6 @@
|
||||
Comment Komentář
|
||||
Comments Komentáře
|
||||
Comments Pane Podokno komentářů
|
||||
Community\nDiscord Komunita\nDiscord
|
||||
Compact Kompaktní
|
||||
Company Společnost
|
||||
Compare Porovnat
|
||||
@@ -310,8 +308,6 @@
|
||||
Direct formatting Přímé formátování
|
||||
Direction: Směr:
|
||||
Directory Katalog
|
||||
Discord Discord
|
||||
Discord community Komunita na Discordu
|
||||
Display Zobrazení
|
||||
Display for Review Zobrazení k revizi
|
||||
Distribute Columns Rovnoměrně rozložit sloupce
|
||||
@@ -462,7 +458,6 @@
|
||||
from Unicode (hex) z Unicode (hex)
|
||||
Function Funkce
|
||||
General Obecné
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Glow Záře
|
||||
Glow Colors Barvy záře
|
||||
Go To Přejít na
|
||||
@@ -569,8 +564,6 @@
|
||||
Interface theme: Motiv rozhraní:
|
||||
Interface\nTheme Motiv\nrozhraní
|
||||
Italic Kurzíva
|
||||
Join the ArtCraft community on Discord Připojte se ke komunitě ArtCraft na Discordu
|
||||
Join us on Discord: discord.gg/artcraft Připojte se k nám na Discordu: discord.gg/artcraft
|
||||
Justification Zarovnání
|
||||
Justified Do bloku
|
||||
Justify Do bloku
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -14,7 +14,6 @@
|
||||
(no style) (keine Formatvorlage)
|
||||
(no suggestions) (keine Vorschläge)
|
||||
1.5 Line Spacing Zeilenabstand 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Ein kostenloses, quelloffenes Textverarbeitungsprogramm, von Grund auf in Rust geschrieben.\nTeil der Crafting Apps des ArtCraft-Teams.
|
||||
About Info
|
||||
About WordCraft Über WordCraft
|
||||
Accept Annehmen
|
||||
@@ -227,7 +226,6 @@
|
||||
Comment Kommentar
|
||||
Comments Kommentare
|
||||
Comments Pane Kommentarbereich
|
||||
Community\nDiscord Community-\nDiscord
|
||||
Compact Kompakt
|
||||
Compare Vergleichen
|
||||
Compress Pictures Bilder komprimieren
|
||||
@@ -280,8 +278,6 @@
|
||||
Dictate Diktieren
|
||||
Different First Page Andere erste Seite
|
||||
Different Odd & Even Pages Andere gerade und ungerade Seiten
|
||||
Discord Discord
|
||||
Discord community Discord-Community
|
||||
Display Anzeige
|
||||
Display for Review Anzeige zur Überprüfung
|
||||
Distribute Columns Spalten verteilen
|
||||
@@ -439,8 +435,6 @@
|
||||
Inspect Document Dokument prüfen
|
||||
Interface language: Benutzeroberflächensprache:
|
||||
Italic Kursiv
|
||||
Join the ArtCraft community on Discord Treten Sie der ArtCraft-Community auf Discord bei
|
||||
Join us on Discord: discord.gg/artcraft Besuchen Sie uns auf Discord: discord.gg/artcraft
|
||||
Justify Blocksatz
|
||||
Keep Lines Together Zeilen nicht trennen
|
||||
Keep lines together Zeilen nicht trennen
|
||||
@@ -1128,7 +1122,6 @@
|
||||
Insert a new equation (Alt+=) Eine neue Formel einfügen (Alt+=)
|
||||
Leave the equation (Esc) Die Formel verlassen (Esc)
|
||||
Preview Vorschau
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Freihand zeichnen
|
||||
Erase Ink Freihand radieren
|
||||
Hide Ink Freihand ausblenden
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -16,7 +16,6 @@
|
||||
(no style) (sin estilo)
|
||||
(no suggestions) (sin sugerencias)
|
||||
1.5 Line Spacing Interlineado 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Un procesador de textos gratuito y de código abierto, escrito desde cero en Rust.\nForma parte de las Crafting Apps del equipo de ArtCraft.
|
||||
About Acerca de
|
||||
About WordCraft Acerca de WordCraft
|
||||
Accept Aceptar
|
||||
@@ -271,7 +270,6 @@
|
||||
Comment Comentario
|
||||
Comments Comentarios
|
||||
Comments Pane Panel de comentarios
|
||||
Community\nDiscord Comunidad\nDiscord
|
||||
Compact Compacto
|
||||
Compare Comparar
|
||||
Compress Pictures Comprimir imágenes
|
||||
@@ -326,8 +324,6 @@
|
||||
Different First Page Primera página diferente
|
||||
Different Odd & Even Pages Páginas pares e impares diferentes
|
||||
Direct formatting Formato directo
|
||||
Discord Discord
|
||||
Discord community Comunidad de Discord
|
||||
Display Mostrar
|
||||
Display for Review Mostrar para revisión
|
||||
Distribute Columns Distribuir columnas
|
||||
@@ -504,8 +500,6 @@
|
||||
Inspect Styles at Selection Inspeccionar estilos de la selección
|
||||
Interface language: Idioma de la interfaz:
|
||||
Italic Cursiva
|
||||
Join the ArtCraft community on Discord Únete a la comunidad de ArtCraft en Discord
|
||||
Join us on Discord: discord.gg/artcraft Únete a nosotros en Discord: discord.gg/artcraft
|
||||
Justify Justificar
|
||||
Keep Lines Together Mantener líneas juntas
|
||||
Keep Text Only Mantener solo el texto
|
||||
@@ -1215,6 +1209,10 @@
|
||||
Light Claro
|
||||
Dark Oscuro
|
||||
Use system setting Usar la configuración del sistema
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Ya hay un cuadro de diálogo de archivo abierto.
|
||||
Height: Alto:
|
||||
Width: Ancho:
|
||||
@@ -1240,7 +1238,6 @@
|
||||
Insert a new equation (Alt+=) Insertar una ecuación nueva (Alt+=)
|
||||
Leave the equation (Esc) Salir de la ecuación (Esc)
|
||||
Preview Vista previa
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Dibujar tinta
|
||||
Erase Ink Borrar tinta
|
||||
Hide Ink Ocultar tinta
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -11,7 +11,6 @@
|
||||
|
||||
(no suggestions) (soovitused puuduvad)
|
||||
1.5 Line Spacing Reavahe 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Tasuta avatud lähtekoodiga tekstitöötlusprogramm, mis on kirjutatud Rustis.\nArtCrafti meeskonna Crafting Appsi osa.
|
||||
About Teave
|
||||
About WordCraft WordCrafti teave
|
||||
Accept Nõustu
|
||||
@@ -147,7 +146,6 @@
|
||||
Comment Kommentaar
|
||||
Comments Kommentaarid
|
||||
Comments Pane Kommentaaripaan
|
||||
Community\nDiscord Discordi\nkogukond
|
||||
Compact Tihe
|
||||
Compare Võrdle
|
||||
Compress Pictures Tihenda pildid
|
||||
@@ -201,8 +199,6 @@
|
||||
Different First Page Erinev esileht
|
||||
Different Odd & Even Pages Erinevad paaris- ja paaritud lehed
|
||||
Direct formatting Otsevormindus
|
||||
Discord Discord
|
||||
Discord community Discordi kogukond
|
||||
Display Kuva
|
||||
Display for Review Kuva läbivaatuseks
|
||||
Distribute Columns Jaota veerud ühtlaselt
|
||||
@@ -383,8 +379,6 @@
|
||||
Interface language Kasutajaliidese keel
|
||||
Interface language: Kasutajaliidese keel:
|
||||
Italic Kaldkiri
|
||||
Join the ArtCraft community on Discord Liitu ArtCrafti kogukonnaga Discordis
|
||||
Join us on Discord: discord.gg/artcraft Liitu meiega Discordis: discord.gg/artcraft
|
||||
Justify Rööpjoonda
|
||||
Keep Lines Together Hoia read koos
|
||||
Keep Text Only Säilita ainult tekst
|
||||
@@ -1085,6 +1079,10 @@
|
||||
Light Hele
|
||||
Dark Tume
|
||||
Use system setting Kasuta süsteemi seadistust
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Failidialoog on juba avatud.
|
||||
Alt text Asendustekst
|
||||
Indent from left: Taane vasakult:
|
||||
@@ -1113,7 +1111,6 @@
|
||||
Left Margin Vasak veeris
|
||||
Repeat as header row on each page Korda päisereana igal lehel
|
||||
Insert a new equation (Alt+=) Lisa uus võrrand (Alt+=)
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Bottom Margin Alumine veeris
|
||||
Cell Lahter
|
||||
Specify height: Määra kõrgus:
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 453 and column 13.
|
@@ -12,7 +12,6 @@
|
||||
(no style) (Aucun style)
|
||||
(no suggestions) (aucune suggestion)
|
||||
1.5 Line Spacing Interligne 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Un traitement de texte gratuit et open source, écrit de zéro en Rust.\nPartie de la suite Crafting Apps de l’équipe ArtCraft.
|
||||
About À propos
|
||||
About WordCraft À propos de WordCraft
|
||||
Accept Accepter
|
||||
@@ -219,7 +218,6 @@
|
||||
Comment Commentaire
|
||||
Comments Commentaires
|
||||
Comments Pane Volet Commentaires
|
||||
Community\nDiscord Communauté\nDiscord
|
||||
Compact Compact
|
||||
Compare Comparer
|
||||
Compress Pictures Compresser les images
|
||||
@@ -291,8 +289,6 @@
|
||||
Different First Page Première page différente
|
||||
Different Odd & Even Pages Pages paires et impaires différentes
|
||||
Direct formatting Mise en forme directe
|
||||
Discord Discord
|
||||
Discord community Communauté Discord
|
||||
Display Affichage
|
||||
Display for Review Affichage pour la révision
|
||||
Distribute Columns Répartir les colonnes
|
||||
@@ -452,8 +448,6 @@
|
||||
Inspect Styles at Selection Inspecter les styles de la sélection
|
||||
Interface language: Langue de l’interface :
|
||||
Italic Italique
|
||||
Join the ArtCraft community on Discord Rejoignez la communauté ArtCraft sur Discord
|
||||
Join us on Discord: discord.gg/artcraft Rejoignez-nous sur Discord : discord.gg/artcraft
|
||||
Justify Justifier
|
||||
Keep Lines Together Lignes solidaires
|
||||
Keep lines together Lignes solidaires
|
||||
@@ -1144,7 +1138,6 @@
|
||||
Insert a new equation (Alt+=) Insérer une nouvelle équation (Alt+=)
|
||||
Leave the equation (Esc) Quitter l’équation (Esc)
|
||||
Preview Aperçu
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Dessiner à l’encre
|
||||
Erase Ink Effacer l’encre
|
||||
Hide Ink Masquer l’encre
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 25.
|
@@ -17,7 +17,6 @@
|
||||
|
||||
(no suggestions) (nincs javaslat)
|
||||
1.5 Line Spacing 1,5-es sorköz
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Ingyenes, nyílt forráskódú szövegszerkesztő, az alapoktól Rustban írva.\nA Crafting Apps családba tartozik, az ArtCraft csapatától.
|
||||
AaBbCcDd AaÁáBbCc
|
||||
About Névjegy
|
||||
About WordCraft A WordCraft névjegye
|
||||
@@ -145,7 +144,6 @@
|
||||
Comment Megjegyzés
|
||||
Comments Megjegyzések
|
||||
Comments Pane Megjegyzések panel
|
||||
Community\nDiscord Közösségi\nDiscord
|
||||
Compact Tömör
|
||||
Compare Összehasonlítás
|
||||
Compress Pictures Képek tömörítése
|
||||
@@ -197,8 +195,6 @@
|
||||
Dictate Diktálás
|
||||
Different First Page Eltérő első oldal
|
||||
Different Odd & Even Pages Eltérő páros és páratlan oldalak
|
||||
Discord Discord
|
||||
Discord community Discord-közösség
|
||||
Display Megjelenítés
|
||||
Display for Review Megjelenítés véleményezéshez
|
||||
Distribute Columns Oszlopok egyenletes elosztása
|
||||
@@ -368,8 +364,6 @@
|
||||
Intense Reference Erős hivatkozás
|
||||
Interface language: Felület nyelve:
|
||||
Italic Dőlt
|
||||
Join the ArtCraft community on Discord Csatlakozz az ArtCraft közösséghez a Discordon
|
||||
Join us on Discord: discord.gg/artcraft Csatlakozz hozzánk a Discordon: discord.gg/artcraft
|
||||
Justify Sorkizárás
|
||||
Keep Lines Together Sorok együtt tartása
|
||||
Keep lines together Sorok együtt tartása
|
||||
@@ -1082,7 +1076,6 @@
|
||||
Insert a new equation (Alt+=) Új egyenlet beszúrása (Alt+=)
|
||||
Leave the equation (Esc) Kilépés az egyenletből (Esc)
|
||||
Preview Előnézet
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Browse… Tallózás…
|
||||
AaBbYyZz AaBbYyZz ŐőŰű
|
||||
Align Top Left Igazítás balra fel
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -17,7 +17,6 @@
|
||||
(no style) (nessuno stile)
|
||||
(no suggestions) (nessun suggerimento)
|
||||
1.5 Line Spacing Interlinea 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Un elaboratore di testi gratuito e open source, scritto da zero in Rust.\nFa parte delle Crafting Apps del team ArtCraft.
|
||||
About Informazioni
|
||||
About WordCraft Informazioni su WordCraft
|
||||
Accept Accetta
|
||||
@@ -218,7 +217,6 @@
|
||||
Comment Commento
|
||||
Comments Commenti
|
||||
Comments Pane Riquadro Commenti
|
||||
Community\nDiscord Community\nDiscord
|
||||
Compact Compatto
|
||||
Compare Confronta
|
||||
Compress Pictures Comprimi immagini
|
||||
@@ -271,8 +269,6 @@
|
||||
Different First Page Prima pagina diversa
|
||||
Different Odd & Even Pages Pagine pari e dispari diverse
|
||||
Direct formatting Formattazione diretta
|
||||
Discord Discord
|
||||
Discord community Community Discord
|
||||
Display Visualizza
|
||||
Display for Review Visualizza per revisione
|
||||
Distribute Columns Distribuisci colonne
|
||||
@@ -436,8 +432,6 @@
|
||||
Inspect Styles at Selection Ispeziona stili nella selezione
|
||||
Interface language: Lingua dell'interfaccia:
|
||||
Italic Corsivo
|
||||
Join the ArtCraft community on Discord Unisciti alla community di ArtCraft su Discord
|
||||
Join us on Discord: discord.gg/artcraft Unisciti a noi su Discord: discord.gg/artcraft
|
||||
Justify Giustifica
|
||||
Keep Lines Together Mantieni righe insieme
|
||||
Keep Text Only Mantieni solo testo
|
||||
@@ -1134,7 +1128,6 @@
|
||||
Insert a new equation (Alt+=) Inserisci una nuova equazione (Alt+=)
|
||||
Leave the equation (Esc) Esci dall'equazione (Esc)
|
||||
Preview Anteprima
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Disegna a penna
|
||||
Erase Ink Cancella penna
|
||||
Hide Ink Nascondi penna
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -3,7 +3,6 @@
|
||||
(no style) (スタイルなし)
|
||||
(no suggestions) (候補なし)
|
||||
1.5 Line Spacing 1.5 行
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Rust でゼロから書かれた、無料のオープンソース ワープロです。\nArtCraft チームの Crafting Apps のひとつです。
|
||||
About 情報
|
||||
About WordCraft WordCraft について
|
||||
Accept 承諾
|
||||
@@ -279,7 +278,6 @@
|
||||
Comment コメント
|
||||
Comments コメント
|
||||
Comments Pane コメント ウィンドウ
|
||||
Community\nDiscord コミュニティ\nDiscord
|
||||
Compact コンパクト
|
||||
Compare 比較
|
||||
Compress Pictures 図の圧縮
|
||||
@@ -334,8 +332,6 @@
|
||||
Dictate ディクテーション
|
||||
Different First Page 先頭ページのみ別指定
|
||||
Different Odd & Even Pages 奇数/偶数ページ別指定
|
||||
Discord Discord
|
||||
Discord community Discord コミュニティ
|
||||
Display 表示
|
||||
Display for Review 変更内容の表示
|
||||
Distribute Columns 列の幅を揃える
|
||||
@@ -494,8 +490,6 @@
|
||||
Inspect Document ドキュメント検査
|
||||
Interface language: 表示言語:
|
||||
Italic 斜体
|
||||
Join the ArtCraft community on Discord Discord の ArtCraft コミュニティに参加
|
||||
Join us on Discord: discord.gg/artcraft Discord で参加: discord.gg/artcraft
|
||||
Justify 両端揃え
|
||||
Keep Lines Together 段落を分割しない
|
||||
Keep lines together 段落を分割しない
|
||||
@@ -1177,6 +1171,10 @@
|
||||
Light ライト
|
||||
Dark ダーク
|
||||
Use system setting システム設定を使用
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. ファイル ダイアログが既に開いています。
|
||||
Height: 高さ:
|
||||
Width: 幅:
|
||||
@@ -1202,7 +1200,6 @@
|
||||
Insert a new equation (Alt+=) 新しい数式を挿入 (Alt+=)
|
||||
Leave the equation (Esc) 数式を終了 (Esc)
|
||||
Preview プレビュー
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink インクで描く
|
||||
Erase Ink インクを消す
|
||||
Hide Ink インクを隠す
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 557 and column 13.
|
@@ -17,7 +17,6 @@
|
||||
|
||||
(no suggestions) (brak propozycji)
|
||||
1.5 Line Spacing Interlinia 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Darmowy edytor tekstu o otwartym kodzie, napisany od podstaw w języku Rust.\nCzęść rodziny Crafting Apps zespołu ArtCraft.
|
||||
About Informacje
|
||||
About WordCraft O programie WordCraft
|
||||
Accept Zaakceptuj
|
||||
@@ -146,7 +145,6 @@
|
||||
Comment Komentarz
|
||||
Comments Komentarze
|
||||
Comments Pane Okienko komentarzy
|
||||
Community\nDiscord Społeczność\nDiscord
|
||||
Compact Zwarte
|
||||
Compare Porównaj
|
||||
Compress Pictures Kompresuj obrazy
|
||||
@@ -198,8 +196,6 @@
|
||||
Different First Page Inna pierwsza strona
|
||||
Different Odd & Even Pages Inne strony parzyste i nieparzyste
|
||||
Direct formatting Formatowanie bezpośrednie
|
||||
Discord Discord
|
||||
Discord community Społeczność na Discordzie
|
||||
Display Wyświetlanie
|
||||
Display for Review Wyświetlanie do recenzji
|
||||
Distribute Columns Rozłóż kolumny
|
||||
@@ -360,8 +356,6 @@
|
||||
Inspect Styles at Selection Przejrzyj style zaznaczenia
|
||||
Interface language: Język interfejsu:
|
||||
Italic Kursywa
|
||||
Join the ArtCraft community on Discord Dołącz do społeczności ArtCraft na Discordzie
|
||||
Join us on Discord: discord.gg/artcraft Dołącz do nas na Discordzie: discord.gg/artcraft
|
||||
Justify Wyjustuj
|
||||
Keep Lines Together Zachowaj wiersze razem
|
||||
Keep Text Only Zachowaj tylko tekst
|
||||
@@ -1043,7 +1037,6 @@
|
||||
Insert a new equation (Alt+=) Wstaw nowe równanie (Alt+=)
|
||||
Leave the equation (Esc) Opuść równanie (Esc)
|
||||
Preview Podgląd
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
English (United Kingdom) Angielski (Wielka Brytania)
|
||||
Polish Polski
|
||||
Do Not Check Spelling or Grammar Nie sprawdzaj pisowni ani gramatyki
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -14,7 +14,6 @@
|
||||
(no style) (sem estilo)
|
||||
(no suggestions) (sem sugestões)
|
||||
1.5 Line Spacing Espaçamento de 1,5 linha
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Um processador de texto gratuito e de código aberto, escrito do zero em Rust.\nFaz parte dos Crafting Apps da equipe ArtCraft.
|
||||
About Sobre
|
||||
About WordCraft Sobre o WordCraft
|
||||
Accept Aceitar
|
||||
@@ -260,7 +259,6 @@
|
||||
Comment Comentário
|
||||
Comments Comentários
|
||||
Comments Pane Painel de comentários
|
||||
Community\nDiscord Comunidade\nDiscord
|
||||
Compact Compacto
|
||||
Compare Comparar
|
||||
Compress Pictures Compactar imagens
|
||||
@@ -337,8 +335,6 @@
|
||||
Dictate Ditar
|
||||
Different First Page Primeira página diferente
|
||||
Different Odd & Even Pages Páginas ímpares e pares diferentes
|
||||
Discord Discord
|
||||
Discord community Comunidade do Discord
|
||||
Display Exibição
|
||||
Display for Review Exibir para revisão
|
||||
Distribute Columns Distribuir colunas uniformemente
|
||||
@@ -495,8 +491,6 @@
|
||||
Inspect Document Inspecionar documento
|
||||
Interface language: Idioma da interface:
|
||||
Italic Itálico
|
||||
Join the ArtCraft community on Discord Junte-se à comunidade ArtCraft no Discord
|
||||
Join us on Discord: discord.gg/artcraft Junte-se a nós no Discord: discord.gg/artcraft
|
||||
Justify Justificar
|
||||
Keep Lines Together Manter linhas juntas
|
||||
Keep lines together Manter linhas juntas
|
||||
@@ -1189,6 +1183,10 @@
|
||||
Light Claro
|
||||
Dark Escuro
|
||||
Use system setting Usar a configuração do sistema
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Já há uma caixa de diálogo de arquivo aberta.
|
||||
Height: Altura:
|
||||
Width: Largura:
|
||||
@@ -1214,7 +1212,6 @@
|
||||
Insert a new equation (Alt+=) Inserir uma nova equação (Alt+=)
|
||||
Leave the equation (Esc) Sair da equação (Esc)
|
||||
Preview Visualizar
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Desenhar tinta
|
||||
Erase Ink Apagar tinta
|
||||
Hide Ink Ocultar tinta
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -15,7 +15,6 @@
|
||||
|
||||
(no suggestions) (нет вариантов)
|
||||
1.5 Line Spacing Полуторный интервал
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Бесплатный текстовый процессор с открытым исходным кодом, написанный с нуля на Rust.\nВходит в Crafting Apps от команды ArtCraft.
|
||||
AaBbCcDd АаБбВвГг
|
||||
About О программе
|
||||
About WordCraft О WordCraft
|
||||
@@ -143,7 +142,6 @@
|
||||
Comment Комментарий
|
||||
Comments Комментарии
|
||||
Comments Pane Область комментариев
|
||||
Community\nDiscord Сообщество\nDiscord
|
||||
Compact Компактный
|
||||
Compare Сравнить
|
||||
Compress Pictures Сжать рисунки
|
||||
@@ -197,8 +195,6 @@
|
||||
Dictate Диктовка
|
||||
Different First Page Особая первая страница
|
||||
Different Odd & Even Pages Разные для чётных и нечётных страниц
|
||||
Discord Discord
|
||||
Discord community Сообщество в Discord
|
||||
Display Отображение
|
||||
Display for Review Отображение исправлений
|
||||
Distribute Columns Выровнять ширину столбцов
|
||||
@@ -369,8 +365,6 @@
|
||||
Intense Reference Сильная ссылка
|
||||
Interface language: Язык интерфейса:
|
||||
Italic Курсив
|
||||
Join the ArtCraft community on Discord Присоединяйтесь к сообществу ArtCraft в Discord
|
||||
Join us on Discord: discord.gg/artcraft Присоединяйтесь к нам в Discord: discord.gg/artcraft
|
||||
Justify По ширине
|
||||
Keep Lines Together Не разрывать абзац
|
||||
Keep lines together Не разрывать абзац
|
||||
@@ -1067,6 +1061,10 @@ preview Title Пример
|
||||
Light Светлая
|
||||
Dark Тёмная
|
||||
Use system setting Как в системе
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Окно выбора файла уже открыто.
|
||||
Height: Высота:
|
||||
Width: Ширина:
|
||||
@@ -1092,7 +1090,6 @@ preview Title Пример
|
||||
Insert a new equation (Alt+=) Вставить новое уравнение (Alt+=)
|
||||
Leave the equation (Esc) Выйти из уравнения (Esc)
|
||||
Preview Предварительный просмотр
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Browse… Обзор…
|
||||
|
||||
# Equation gallery, themes, watermarks, paper sizes, table styles and other strings the
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 25.
|
@@ -15,7 +15,6 @@
|
||||
(no suggestions) (nema predloga)
|
||||
(picture or object) (slika ili objekat)
|
||||
1.5 Line Spacing Proređenost 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Besplatan, otvoreni obrađivač teksta napisan od nule u Rust-u.\nDeo Crafting Apps paketa tima ArtCraft.
|
||||
A password is required to open this document. Za otvaranje ovog dokumenta potrebna je lozinka.
|
||||
About O programu
|
||||
About WordCraft O WordCraft-u
|
||||
@@ -327,7 +326,6 @@
|
||||
Comment Komentar
|
||||
Comments Komentari
|
||||
Comments Pane Okno komentara
|
||||
Community\nDiscord Zajednica\nna Discord-u
|
||||
Compact Sažeto
|
||||
Compare Upoređivanje
|
||||
Compress Pictures Kompresuj slike
|
||||
@@ -382,8 +380,6 @@
|
||||
Dictate Diktiranje
|
||||
Different First Page Drugačija prva strana
|
||||
Different Odd & Even Pages Drugačije neparne i parne strane
|
||||
Discord Discord
|
||||
Discord community Zajednica na Discord-u
|
||||
Display Prikaz
|
||||
Display for Review Prikaz za pregled
|
||||
Distribute Columns Ravnomerno razmesti kolone
|
||||
@@ -542,8 +538,6 @@
|
||||
Inspect Document Pregledaj dokument
|
||||
Interface language: Jezik interfejsa:
|
||||
Italic Kurziv
|
||||
Join the ArtCraft community on Discord Pridružite se ArtCraft zajednici na Discord-u
|
||||
Join us on Discord: discord.gg/artcraft Pridružite nam se na Discord-u: discord.gg/artcraft
|
||||
Justify Obostrano poravnanje
|
||||
Keep Lines Together Zadrži redove zajedno
|
||||
Keep lines together Zadrži redove zajedno
|
||||
@@ -1195,6 +1189,10 @@
|
||||
Light Svetla
|
||||
Dark Tamna
|
||||
Use system setting Prema podešavanju sistema
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
Letters Pisma
|
||||
E-mail Messages Poruke e-pošte
|
||||
Directory Imenik
|
||||
@@ -1267,7 +1265,6 @@
|
||||
Reset Crop Poništi isecanje
|
||||
Insert a new equation (Alt+=) Umetni novu jednačinu (Alt+=)
|
||||
Leave the equation (Esc) Napusti jednačinu (Esc)
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Crtaj mastilom
|
||||
Erase Ink Obriši mastilo
|
||||
Hide Ink Sakrij mastilo
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 25.
|
@@ -19,7 +19,6 @@
|
||||
(no suggestions) (нема предлога)
|
||||
(picture or object) (слика или објекат)
|
||||
1.5 Line Spacing Проређеност 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Бесплатан, отворени обрађивач текста написан од нуле у Rust-у.\nДео Crafting Apps пакета тима ArtCraft.
|
||||
A password is required to open this document. За отварање овог документа потребна је лозинка.
|
||||
About О програму
|
||||
About WordCraft О WordCraft-у
|
||||
@@ -331,7 +330,6 @@
|
||||
Comment Коментар
|
||||
Comments Коментари
|
||||
Comments Pane Окно коментара
|
||||
Community\nDiscord Заједница\nна Discord-у
|
||||
Compact Сажето
|
||||
Compare Упоређивање
|
||||
Compress Pictures Компресуј слике
|
||||
@@ -386,8 +384,6 @@
|
||||
Dictate Диктирање
|
||||
Different First Page Другачија прва страна
|
||||
Different Odd & Even Pages Другачије непарне и парне стране
|
||||
Discord Discord
|
||||
Discord community Заједница на Discord-у
|
||||
Display Приказ
|
||||
Display for Review Приказ за преглед
|
||||
Distribute Columns Равномерно размести колоне
|
||||
@@ -546,8 +542,6 @@
|
||||
Inspect Document Прегледај документ
|
||||
Interface language: Језик интерфејса:
|
||||
Italic Курзив
|
||||
Join the ArtCraft community on Discord Придружите се ArtCraft заједници на Discord-у
|
||||
Join us on Discord: discord.gg/artcraft Придружите нам се на Discord-у: discord.gg/artcraft
|
||||
Justify Обострано поравнање
|
||||
Keep Lines Together Задржи редове заједно
|
||||
Keep lines together Задржи редове заједно
|
||||
@@ -1199,6 +1193,10 @@
|
||||
Light Светла
|
||||
Dark Тамна
|
||||
Use system setting Према подешавању система
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
Letters Писма
|
||||
E-mail Messages Поруке е-поште
|
||||
Directory Именик
|
||||
@@ -1271,7 +1269,6 @@
|
||||
Reset Crop Поништи исецање
|
||||
Insert a new equation (Alt+=) Уметни нову једначину (Alt+=)
|
||||
Leave the equation (Esc) Напусти једначину (Esc)
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Цртај мастилом
|
||||
Erase Ink Обриши мастило
|
||||
Hide Ink Сакриј мастило
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 11 and column 25.
|
@@ -14,7 +14,6 @@
|
||||
|
||||
(no suggestions) (öneri yok)
|
||||
1.5 Line Spacing 1,5 Satır Aralığı
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Rust ile sıfırdan yazılmış ücretsiz, açık kaynak bir kelime işlemci.\nArtCraft ekibinin Crafting Apps ailesinin bir parçası.
|
||||
AaBbCcDd AaBbCcÇç
|
||||
About Hakkında
|
||||
About WordCraft WordCraft Hakkında
|
||||
@@ -142,7 +141,6 @@
|
||||
Comment Yorum
|
||||
Comments Yorumlar
|
||||
Comments Pane Yorumlar Bölmesi
|
||||
Community\nDiscord Topluluk\nDiscord'u
|
||||
Compact Kompakt
|
||||
Compare Karşılaştır
|
||||
Compress Pictures Resimleri Sıkıştır
|
||||
@@ -195,8 +193,6 @@
|
||||
Dictate Dikte Et
|
||||
Different First Page İlk Sayfa Farklı
|
||||
Different Odd & Even Pages Tek ve Çift Sayfalar Farklı
|
||||
Discord Discord
|
||||
Discord community Discord topluluğu
|
||||
Display Görüntü
|
||||
Display for Review İnceleme Görünümü
|
||||
Distribute Columns Sütunları Eşit Dağıt
|
||||
@@ -367,8 +363,6 @@
|
||||
Inspect Document Belgeyi İncele
|
||||
Interface language: Arayüz dili:
|
||||
Italic İtalik
|
||||
Join the ArtCraft community on Discord Discord'da ArtCraft topluluğuna katılın
|
||||
Join us on Discord: discord.gg/artcraft Discord'da bize katılın: discord.gg/artcraft
|
||||
Justify İki Yana Yasla
|
||||
Keep Lines Together Satırları Birlikte Tut
|
||||
Keep lines together Satırları birlikte tut
|
||||
@@ -1067,6 +1061,10 @@ preview Title Örnek
|
||||
Light Açık
|
||||
Dark Koyu
|
||||
Use system setting Sistem ayarını kullan
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Bir dosya iletişim kutusu zaten açık.
|
||||
Height: Yükseklik:
|
||||
Width: Genişlik:
|
||||
@@ -1092,7 +1090,6 @@ preview Title Örnek
|
||||
Insert a new equation (Alt+=) Yeni denklem ekle (Alt+=)
|
||||
Leave the equation (Esc) Denklemden çık (Esc)
|
||||
Preview Önizleme
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Browse… Gözat…
|
||||
|
||||
# Equation gallery, themes, watermarks, paper sizes, table styles and other strings the
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 433 and column 13.
|
@@ -14,7 +14,6 @@
|
||||
(no style) (без стилю)
|
||||
(no suggestions) (немає пропозицій)
|
||||
1.5 Line Spacing Міжрядковий інтервал 1,5
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. Безкоштовний текстовий процесор із відкритим кодом, написаний з нуля мовою Rust.\nЧастина Crafting Apps від команди ArtCraft.
|
||||
About Про програму
|
||||
About WordCraft Про WordCraft
|
||||
Accept Прийняти
|
||||
@@ -267,7 +266,6 @@
|
||||
Comment Коментар
|
||||
Comments Коментарі
|
||||
Comments Pane Панель коментарів
|
||||
Community\nDiscord Спільнота\nDiscord
|
||||
Compact Компактний
|
||||
Compare Порівняти
|
||||
Compress Pictures Стиснути зображення
|
||||
@@ -345,8 +343,6 @@
|
||||
Different First Page Інша перша сторінка
|
||||
Different Odd & Even Pages Різні парні й непарні сторінки
|
||||
Direct formatting Пряме форматування
|
||||
Discord Discord
|
||||
Discord community Спільнота Discord
|
||||
Display Відображення
|
||||
Display for Review Відображення для рецензування
|
||||
Distribute Columns Розподілити стовпці
|
||||
@@ -508,8 +504,6 @@
|
||||
Inspect Styles at Selection Переглянути стилі у виділенні
|
||||
Interface language: Мова інтерфейсу:
|
||||
Italic Курсив
|
||||
Join the ArtCraft community on Discord Приєднатися до спільноти ArtCraft у Discord
|
||||
Join us on Discord: discord.gg/artcraft Приєднуйтеся до нас у Discord: discord.gg/artcraft
|
||||
Justify За шириною
|
||||
Keep Lines Together Не розривати рядки абзацу
|
||||
Keep lines together Не розривати рядки абзацу
|
||||
@@ -1189,6 +1183,10 @@
|
||||
Light Світла
|
||||
Dark Темна
|
||||
Use system setting Як у системі
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. Діалогове вікно файлу вже відкрито.
|
||||
Height: Висота:
|
||||
Width: Ширина:
|
||||
@@ -1214,7 +1212,6 @@
|
||||
Insert a new equation (Alt+=) Вставити нове рівняння (Alt+=)
|
||||
Leave the equation (Esc) Вийти з рівняння (Esc)
|
||||
Preview Попередній перегляд
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink Малювати чорнилом
|
||||
Erase Ink Стерти чорнило
|
||||
Hide Ink Сховати чорнило
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 6 and column 31.
|
@@ -15,7 +15,6 @@
|
||||
(no style) (无样式)
|
||||
(no suggestions) (无建议)
|
||||
1.5 Line Spacing 1.5 倍行距
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. 一款用 Rust 从零编写的免费开源文字处理软件。\n属于 ArtCraft 团队的 Crafting Apps 系列。
|
||||
About 关于
|
||||
About WordCraft 关于 WordCraft
|
||||
Accept 接受
|
||||
@@ -291,7 +290,6 @@
|
||||
Comment 批注
|
||||
Comments 批注
|
||||
Comments Pane 批注窗格
|
||||
Community\nDiscord 社区\nDiscord
|
||||
Compact 紧凑
|
||||
Compare 比较
|
||||
Compress Pictures 压缩图片
|
||||
@@ -346,8 +344,6 @@
|
||||
Dictate 听写
|
||||
Different First Page 首页不同
|
||||
Different Odd & Even Pages 奇偶页不同
|
||||
Discord Discord
|
||||
Discord community Discord 社区
|
||||
Display 显示
|
||||
Display for Review 显示以供审阅
|
||||
Distribute Columns 平均分布各列
|
||||
@@ -506,8 +502,6 @@
|
||||
Inspect Document 检查文档
|
||||
Interface language: 界面语言:
|
||||
Italic 倾斜
|
||||
Join the ArtCraft community on Discord 加入 Discord 上的 ArtCraft 社区
|
||||
Join us on Discord: discord.gg/artcraft 在 Discord 上加入我们:discord.gg/artcraft
|
||||
Justify 两端对齐
|
||||
Keep Lines Together 段中不分页
|
||||
Keep lines together 段中不分页
|
||||
@@ -1189,6 +1183,10 @@
|
||||
Light 浅色
|
||||
Dark 深色
|
||||
Use system setting 使用系统设置
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. 已有一个文件对话框处于打开状态。
|
||||
Height: 高度:
|
||||
Width: 宽度:
|
||||
@@ -1214,7 +1212,6 @@
|
||||
Insert a new equation (Alt+=) 插入新公式 (Alt+=)
|
||||
Leave the equation (Esc) 退出公式 (Esc)
|
||||
Preview 预览
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink 绘制墨迹
|
||||
Erase Ink 擦除墨迹
|
||||
Hide Ink 隐藏墨迹
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 7 and column 25.
|
@@ -4,7 +4,6 @@
|
||||
(no style) (無樣式)
|
||||
(no suggestions) (無建議)
|
||||
1.5 Line Spacing 1.5 倍行距
|
||||
A free, open-source word processor written from scratch in Rust.\nPart of the Crafting Apps from the ArtCraft team. 一款以 Rust 從零開始撰寫的免費開源文書處理軟體。\n屬於 ArtCraft 團隊的 Crafting Apps 系列。
|
||||
About 關於
|
||||
About WordCraft 關於 WordCraft
|
||||
Accept 接受
|
||||
@@ -280,7 +279,6 @@
|
||||
Comment 註解
|
||||
Comments 註解
|
||||
Comments Pane 註解窗格
|
||||
Community\nDiscord 社群\nDiscord
|
||||
Compact 緊密
|
||||
Compare 比較
|
||||
Compress Pictures 壓縮圖片
|
||||
@@ -335,8 +333,6 @@
|
||||
Dictate 聽寫
|
||||
Different First Page 首頁不同
|
||||
Different Odd & Even Pages 奇偶頁不同
|
||||
Discord Discord
|
||||
Discord community Discord 社群
|
||||
Display 顯示
|
||||
Display for Review 顯示以供檢閱
|
||||
Distribute Columns 平均分配欄寬
|
||||
@@ -495,8 +491,6 @@
|
||||
Inspect Document 檢查文件
|
||||
Interface language: 介面語言:
|
||||
Italic 斜體
|
||||
Join the ArtCraft community on Discord 加入 Discord 上的 ArtCraft 社群
|
||||
Join us on Discord: discord.gg/artcraft 在 Discord 上加入我們:discord.gg/artcraft
|
||||
Justify 左右對齊
|
||||
Keep Lines Together 段落中不分頁
|
||||
Keep lines together 段落中不分頁
|
||||
@@ -1178,6 +1172,10 @@
|
||||
Light 淺色
|
||||
Dark 深色
|
||||
Use system setting 使用系統設定
|
||||
Catppuccin Latte Catppuccin Latte
|
||||
Catppuccin Frappé Catppuccin Frappé
|
||||
Catppuccin Macchiato Catppuccin Macchiato
|
||||
Catppuccin Mocha Catppuccin Mocha
|
||||
A file dialog is already open. 已有一個檔案對話方塊開啟中。
|
||||
Height: 高度:
|
||||
Width: 寬度:
|
||||
@@ -1203,7 +1201,6 @@
|
||||
Insert a new equation (Alt+=) 插入新方程式 (Alt+=)
|
||||
Leave the equation (Esc) 離開方程式 (Esc)
|
||||
Preview 預覽
|
||||
getartcraft.com/apps/wordcraft getartcraft.com/apps/wordcraft
|
||||
Draw Ink 繪製筆跡
|
||||
Erase Ink 擦除筆跡
|
||||
Hide Ink 隱藏筆跡
|
||||
|
||||
|
Can't render this file because it contains an unexpected character in line 558 and column 13.
|
@@ -1260,11 +1260,6 @@ pub fn paint(p: &Painter, r: Rect, name: &str, c: Color32, accent: Color32) {
|
||||
pen.line_c(&[(14.0, 11.0), (14.0, 17.0)], a);
|
||||
pen.line_c(&[(11.0, 14.0), (17.0, 14.0)], a);
|
||||
}
|
||||
"discord" => {
|
||||
pen.fill(&[(3.0, 6.0), (7.0, 3.5), (13.0, 3.5), (17.0, 6.0), (17.5, 14.0), (13.5, 16.5), (6.5, 16.5), (2.5, 14.0)], a);
|
||||
pen.fcircle(7.5, 10.5, 1.5, Color32::WHITE);
|
||||
pen.fcircle(12.5, 10.5, 1.5, Color32::WHITE);
|
||||
}
|
||||
// Open: a folder with its flap lifted.
|
||||
"open" => {
|
||||
pen.closed(&[(2.5, 5.0), (7.5, 5.0), (9.0, 6.5), (15.5, 6.5), (15.5, 9.0)], c);
|
||||
|
||||
@@ -335,7 +335,7 @@ fn controls(tab: &str) -> Vec<Control> {
|
||||
c("Split", "view.split"),
|
||||
c("Macros", "tools.macros"),
|
||||
],
|
||||
"Help" => vec![d("Help", "about"), c("Community Discord", "ui.discord"), d("Commands", "commands")],
|
||||
"Help" => vec![d("Help", "about"), d("Commands", "commands")],
|
||||
"Table Design" => {
|
||||
vec![m("Shading", "table.shading"), m("Borders", "table.borders"), c("Border Painter", "table.borderPainter")]
|
||||
}
|
||||
|
||||
@@ -189,7 +189,6 @@ pub struct UiState {
|
||||
#[serde(rename = "dark", skip_serializing)]
|
||||
pub(crate) legacy_dark: Option<bool>,
|
||||
pub nav_tab: String,
|
||||
pub show_discord: bool,
|
||||
/// User name (File › Options) for comments and tracked changes; empty keeps the default.
|
||||
pub author: String,
|
||||
/// Desktop: the main window's size and position, restored at the next launch.
|
||||
@@ -276,7 +275,6 @@ impl Default for UiState {
|
||||
animations: theme::Animations::default(),
|
||||
legacy_dark: None,
|
||||
nav_tab: "headings".into(),
|
||||
show_discord: true,
|
||||
author: String::new(),
|
||||
window: None,
|
||||
language: i18n::AUTO.into(),
|
||||
@@ -1025,11 +1023,14 @@ impl WordApp {
|
||||
json!({"dark": dark, "theme": self.ui.theme.code()})
|
||||
}
|
||||
"ui.theme" => {
|
||||
// `light`, `dark` or `system` (follow the OS appearance); no value reads it.
|
||||
// `light`, `dark`, `system` (follow the OS appearance) or a Catppuccin flavour; no value reads it.
|
||||
if let Some(v) = s("value") {
|
||||
match theme::Appearance::from_code(v) {
|
||||
Some(a) => self.ui.theme = a,
|
||||
None => return Some(Err(format!("unknown theme {v:?}; use light, dark or system"))),
|
||||
None => {
|
||||
let codes: Vec<_> = theme::Appearance::ALL.map(theme::Appearance::code).into();
|
||||
return Some(Err(format!("unknown theme {v:?}; use {}", codes.join(", "))));
|
||||
}
|
||||
}
|
||||
}
|
||||
json!({"theme": self.ui.theme.code(), "dark": self.ui_is_dark()})
|
||||
@@ -1114,10 +1115,6 @@ impl WordApp {
|
||||
.into(),
|
||||
));
|
||||
}
|
||||
"ui.discord" => {
|
||||
self.canvas.open_url = Some("https://discord.gg/artcraft".into());
|
||||
json!({})
|
||||
}
|
||||
"ui.caretAnimation" => {
|
||||
// File › Options › Advanced › Animation: `value` true or false turns the caret's
|
||||
// glide and fading blink on or off; no value reads it.
|
||||
|
||||
@@ -180,7 +180,6 @@ fn general(app: &mut WordApp, ui: &mut Ui) {
|
||||
{
|
||||
let _ = app.run("view.darkMode", json!({"value": dark_page}));
|
||||
}
|
||||
ui.checkbox(&mut app.ui.show_discord, tl!("Show the community button in the title bar"));
|
||||
default_app_button(app, ui);
|
||||
ui.add_space(8.0);
|
||||
section(ui, "Start-up");
|
||||
|
||||
@@ -1742,7 +1742,6 @@ fn outlining(app: &mut WordApp, ui: &mut Ui) {
|
||||
fn help(app: &mut WordApp, ui: &mut Ui) {
|
||||
group(ui, "Help", None, app, |ui, app| {
|
||||
big(ui, app, "help", "Help", "ui.dialog", json!({"name": "about"}), false);
|
||||
big(ui, app, "discord", "Community\nDiscord", "ui.discord", json!({}), false);
|
||||
});
|
||||
group(ui, "Agents", None, app, |ui, app| {
|
||||
big(ui, app, "macros", "Commands", "ui.dialog", json!({"name": "commands"}), false);
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
use std::sync::Arc;
|
||||
|
||||
use craft_ui::theme::catppuccin::Flavor;
|
||||
use egui::{Align2, Color32, CornerRadius, FontData, FontDefinitions, FontFamily, FontId, Rect, Stroke, Visuals};
|
||||
|
||||
/// WordCraft's app colour (and its darker ink for text on light backgrounds).
|
||||
@@ -9,7 +10,7 @@ pub const APP_COLOR: Color32 = Color32::from_rgb(0x3B, 0x5B, 0xDB);
|
||||
pub const APP_INK: Color32 = Color32::from_rgb(0x2B, 0x47, 0xB5);
|
||||
|
||||
/// The interface theme setting (File › Options › General, View › Interface Theme): a fixed light or
|
||||
/// dark palette, or `System`, which follows the OS light/dark appearance live (#115). Dark page
|
||||
/// dark palette, a Catppuccin flavour, or `System`, which follows the OS light/dark appearance live (#115). Dark page
|
||||
/// (View › Switch Modes) is separate: it changes how pages are drawn, never the interface (#312).
|
||||
#[derive(Clone, Copy, Debug, Default, PartialEq, Eq, serde::Serialize, serde::Deserialize)]
|
||||
#[serde(from = "String", into = "String")]
|
||||
@@ -18,11 +19,34 @@ pub enum Appearance {
|
||||
Light,
|
||||
Dark,
|
||||
System,
|
||||
CatppuccinLatte,
|
||||
CatppuccinFrappe,
|
||||
CatppuccinMacchiato,
|
||||
CatppuccinMocha,
|
||||
}
|
||||
|
||||
impl Appearance {
|
||||
/// In menu order.
|
||||
pub const ALL: [Appearance; 3] = [Appearance::System, Appearance::Light, Appearance::Dark];
|
||||
pub const ALL: [Appearance; 7] = [
|
||||
Appearance::System,
|
||||
Appearance::Light,
|
||||
Appearance::Dark,
|
||||
Appearance::CatppuccinLatte,
|
||||
Appearance::CatppuccinFrappe,
|
||||
Appearance::CatppuccinMacchiato,
|
||||
Appearance::CatppuccinMocha,
|
||||
];
|
||||
|
||||
/// The Catppuccin flavour behind this theme, if it is one.
|
||||
pub fn flavor(self) -> Option<Flavor> {
|
||||
match self {
|
||||
Appearance::CatppuccinLatte => Some(Flavor::Latte),
|
||||
Appearance::CatppuccinFrappe => Some(Flavor::Frappe),
|
||||
Appearance::CatppuccinMacchiato => Some(Flavor::Macchiato),
|
||||
Appearance::CatppuccinMocha => Some(Flavor::Mocha),
|
||||
_ => None,
|
||||
}
|
||||
}
|
||||
|
||||
/// The value used in `ui.json` and by the `ui.theme` command.
|
||||
pub fn code(self) -> &'static str {
|
||||
@@ -30,6 +54,10 @@ impl Appearance {
|
||||
Appearance::Light => "light",
|
||||
Appearance::Dark => "dark",
|
||||
Appearance::System => "system",
|
||||
Appearance::CatppuccinLatte => "catppuccinLatte",
|
||||
Appearance::CatppuccinFrappe => "catppuccinFrappe",
|
||||
Appearance::CatppuccinMacchiato => "catppuccinMacchiato",
|
||||
Appearance::CatppuccinMocha => "catppuccinMocha",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -43,6 +71,10 @@ impl Appearance {
|
||||
Appearance::Light => "Light",
|
||||
Appearance::Dark => "Dark",
|
||||
Appearance::System => "Use system setting",
|
||||
Appearance::CatppuccinLatte => "Catppuccin Latte",
|
||||
Appearance::CatppuccinFrappe => "Catppuccin Frappé",
|
||||
Appearance::CatppuccinMacchiato => "Catppuccin Macchiato",
|
||||
Appearance::CatppuccinMocha => "Catppuccin Mocha",
|
||||
}
|
||||
}
|
||||
|
||||
@@ -53,15 +85,18 @@ impl Appearance {
|
||||
Appearance::Light => false,
|
||||
Appearance::Dark => true,
|
||||
Appearance::System => system == Some(egui::Theme::Dark),
|
||||
Appearance::CatppuccinLatte | Appearance::CatppuccinFrappe | Appearance::CatppuccinMacchiato | Appearance::CatppuccinMocha => {
|
||||
self.flavor().is_some_and(Flavor::is_dark)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// The egui theme preference: `System` stays automatic rather than resolving to a fixed theme.
|
||||
pub fn preference(self) -> egui::ThemePreference {
|
||||
match self {
|
||||
Appearance::Light => egui::ThemePreference::Light,
|
||||
Appearance::Dark => egui::ThemePreference::Dark,
|
||||
Appearance::System => egui::ThemePreference::System,
|
||||
_ if self.is_dark(None) => egui::ThemePreference::Dark,
|
||||
_ => egui::ThemePreference::Light,
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -320,11 +355,60 @@ impl Tokens {
|
||||
orange: Color32::from_rgb(0xF0, 0xA0, 0x50),
|
||||
}
|
||||
}
|
||||
/// A Catppuccin flavour on WordCraft's layout: base/mantle/crust surfaces, surface0-2 borders
|
||||
/// and hovers, Mauve accent, Blue selection.
|
||||
pub fn catppuccin(f: Flavor) -> Self {
|
||||
let p = f.palette();
|
||||
let dark = f.is_dark();
|
||||
let alpha = |c: Color32, a: u8| Color32::from_rgba_unmultiplied(c.r(), c.g(), c.b(), a);
|
||||
Tokens {
|
||||
dark,
|
||||
title_bar: p.mantle,
|
||||
ribbon: p.base,
|
||||
tab_strip: p.mantle,
|
||||
canvas: p.crust,
|
||||
panel: p.base,
|
||||
border: p.surface0,
|
||||
border_strong: p.surface1,
|
||||
text: p.text,
|
||||
text_dim: p.subtext0,
|
||||
text_disabled: p.overlay0,
|
||||
icon: p.subtext1,
|
||||
hover: p.surface0,
|
||||
pressed: p.surface1,
|
||||
checked: p.surface1,
|
||||
accent: p.mauve,
|
||||
accent_text: p.mauve,
|
||||
on_accent: if dark { p.crust } else { p.base },
|
||||
input: if dark { p.crust } else { p.base },
|
||||
input_border: p.surface1,
|
||||
group_label: p.overlay1,
|
||||
ruler: p.mantle,
|
||||
ruler_margin: p.surface1,
|
||||
ruler_tick: p.overlay1,
|
||||
status_bar: p.mantle,
|
||||
selection: alpha(p.blue, 0x55),
|
||||
find_highlight: alpha(p.yellow, 0x90),
|
||||
menu: p.mantle,
|
||||
blue: p.blue,
|
||||
red: p.red,
|
||||
green: p.green,
|
||||
orange: p.peach,
|
||||
..if dark { Tokens::dark() } else { Tokens::light() }
|
||||
}
|
||||
}
|
||||
/// The tokens of the current theme: a pinned Catppuccin flavour (see [`apply`]), else light or dark.
|
||||
pub fn get(ctx: &egui::Context) -> Tokens {
|
||||
if let Some(t) = ctx.data(|d| d.get_temp::<Option<Tokens>>(egui::Id::new(PINNED_TOKENS))).flatten() {
|
||||
return t;
|
||||
}
|
||||
if ctx.global_style().visuals.dark_mode { Tokens::dark() } else { Tokens::light() }
|
||||
}
|
||||
}
|
||||
|
||||
/// `ctx.data` key of the Catppuccin tokens [`apply`] pins; `None` when the theme is light/dark/system.
|
||||
const PINNED_TOKENS: &str = "wordcraft-pinned-tokens";
|
||||
|
||||
/// Install the UI fonts (Inter, JetBrains Mono) and the craft-fonts CJK interface faces if built
|
||||
/// in, Japanese first.
|
||||
pub fn install_fonts(ctx: &egui::Context) {
|
||||
@@ -567,8 +651,11 @@ fn tracked_job(text: &str, font: &FontId, tracking: f32, color: Color32) -> egui
|
||||
/// Setting a concrete theme for `System` would pin the native window too, and macOS then stops
|
||||
/// reporting appearance changes (#311).
|
||||
pub fn apply(ctx: &egui::Context, appearance: Appearance) {
|
||||
ctx.set_visuals_of(egui::Theme::Light, visuals(&Tokens::light()));
|
||||
ctx.set_visuals_of(egui::Theme::Dark, visuals(&Tokens::dark()));
|
||||
let pinned = appearance.flavor().map(Tokens::catppuccin);
|
||||
ctx.data_mut(|d| d.insert_temp(egui::Id::new(PINNED_TOKENS), pinned));
|
||||
let (light, dark) = (Tokens::light(), Tokens::dark());
|
||||
ctx.set_visuals_of(egui::Theme::Light, visuals(pinned.filter(|t| !t.dark).as_ref().unwrap_or(&light)));
|
||||
ctx.set_visuals_of(egui::Theme::Dark, visuals(pinned.filter(|t| t.dark).as_ref().unwrap_or(&dark)));
|
||||
ctx.all_styles_mut(|s| {
|
||||
s.spacing.item_spacing = egui::vec2(6.0, 4.0);
|
||||
s.spacing.button_padding = egui::vec2(8.0, 3.0);
|
||||
@@ -720,7 +807,7 @@ mod tests {
|
||||
assert!(semi.iter().any(|n| n.starts_with("fallback ")), "the caption is painted with semibold");
|
||||
}
|
||||
|
||||
/// #656: dialog primary buttons, the Discord pill, the table eraser and the Navigation search
|
||||
/// #656: dialog primary buttons, the table eraser and the Navigation search
|
||||
/// highlight take their colours from the theme, not fixed light-theme values.
|
||||
#[test]
|
||||
fn interface_colours_come_from_the_theme() {
|
||||
@@ -742,6 +829,32 @@ mod tests {
|
||||
/// Symbols written as text in the interface code must exist in the interface fonts (Inter and
|
||||
/// egui's emoji fallbacks); a missing glyph draws as an empty box, as the panes' "✕" close
|
||||
/// button once did. Letters are the catalogs' business (see the i18n font tests).
|
||||
#[test]
|
||||
fn catppuccin_themes_use_the_flavour_palette() {
|
||||
use super::{Appearance, Tokens};
|
||||
let flavours: Vec<_> = Appearance::ALL.into_iter().filter_map(Appearance::flavor).collect();
|
||||
assert_eq!(flavours.len(), craft_ui::theme::catppuccin::Flavor::ALL.len());
|
||||
for f in flavours {
|
||||
let t = Tokens::catppuccin(f);
|
||||
assert_eq!((t.ribbon, t.panel, t.text, t.accent, t.dark), (f.palette().base, f.palette().base, f.palette().text, f.palette().mauve, f.is_dark()));
|
||||
}
|
||||
for a in Appearance::ALL {
|
||||
assert_eq!(Appearance::from_code(a.code()), Some(a));
|
||||
}
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn pinned_catppuccin_tokens_reach_widgets() {
|
||||
use super::{Appearance, Tokens, apply};
|
||||
let ctx = egui::Context::default();
|
||||
apply(&ctx, Appearance::CatppuccinLatte);
|
||||
assert_eq!(Tokens::get(&ctx).ribbon, craft_ui::theme::catppuccin::Flavor::Latte.palette().base);
|
||||
apply(&ctx, Appearance::CatppuccinMocha);
|
||||
assert_eq!(Tokens::get(&ctx).ribbon, craft_ui::theme::catppuccin::Flavor::Mocha.palette().base);
|
||||
apply(&ctx, Appearance::Dark);
|
||||
assert_eq!(Tokens::get(&ctx).ribbon, Tokens::dark().ribbon);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn interface_symbols_have_glyphs() {
|
||||
let ctx = egui::Context::default();
|
||||
|
||||
@@ -1,42 +0,0 @@
|
||||
ArtCraft brand assets: license
|
||||
|
||||
The ArtCraft name, wordmark and mark (the "ArtCraft Marks"), including every file in this
|
||||
directory in every color, size and format, are owned by the ArtCraft Team. They are trademarks
|
||||
and are NOT open source. They are not covered by WordCraft's MIT OR Apache-2.0 license, and nothing in
|
||||
that license, in NOTICE or in any other file of this repository grants any right to them.
|
||||
|
||||
Permission
|
||||
|
||||
The ArtCraft Team grants a limited, non-exclusive, non-transferable, revocable, royalty-free
|
||||
permission to use the ArtCraft Marks only:
|
||||
|
||||
1. as part of copies of this repository; and
|
||||
2. within WordCraft itself, its documentation and its official builds, to identify WordCraft as made
|
||||
by the ArtCraft team and community and to link to getartcraft.com and its community.
|
||||
|
||||
Conditions
|
||||
|
||||
The permission holds only while every one of these is true:
|
||||
|
||||
- The marks are used exactly as supplied in this directory. Do not redraw, recolor, crop,
|
||||
stretch, rotate, animate, outline or add effects to them, extract parts of them, or combine
|
||||
them with any other name, mark or artwork.
|
||||
- They are used only in the context of WordCraft, and only to say that the ArtCraft team makes it.
|
||||
They must never suggest that the ArtCraft Team made, sponsors, endorses, certifies or supports
|
||||
any other product, service, fork, modified version, plug-in, organization or person.
|
||||
- Neither the marks nor the ArtCraft name appear in the name, logo, icon, domain, social media
|
||||
handle, app-store listing, advertising or marketing of anything other than WordCraft.
|
||||
|
||||
Forks and modified versions
|
||||
|
||||
If you distribute or publish a modified version of WordCraft, or any work derived from it, you must
|
||||
remove the ArtCraft Marks from it (or replace them with your own) and must not call it ArtCraft or
|
||||
present it as an ArtCraft product. You may say, in plain text, that your work is based on WordCraft by
|
||||
the ArtCraft team. A fork kept only to propose changes back to this repository may keep the marks
|
||||
unchanged.
|
||||
|
||||
Everything else
|
||||
|
||||
Any use not expressly permitted here needs prior written permission from the ArtCraft Team
|
||||
(https://getartcraft.com/). The permission ends automatically for anyone who breaks these terms.
|
||||
All other rights are reserved.
|
||||
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 31 KiB |
|
Before Width: | Height: | Size: 5.3 KiB |
|
Before Width: | Height: | Size: 26 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -19.42 136.34 136.34" role="img" aria-label="ArtCraft">
|
||||
<title>ArtCraft</title>
|
||||
<path fill="#0b0b0c" d="M104.28,49.49L81.55,0h-31.23l-3.17,4.76L14.75,53.63,0,75.85l21.55,21.55,63.79-36.94,16.99,37.04,14.01-21.74-12.06-26.27ZM32.89,65.66l32.42-48.87,10.91,23.77-43.32,25.09Z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 341 B |
|
Before Width: | Height: | Size: 24 KiB |
@@ -1,4 +0,0 @@
|
||||
<svg xmlns="http://www.w3.org/2000/svg" viewBox="-10 -19.42 136.34 136.34" role="img" aria-label="ArtCraft">
|
||||
<title>ArtCraft</title>
|
||||
<path fill="#4e7bfb" d="M104.28,49.49L81.55,0h-31.23l-3.17,4.76L14.75,53.63,0,75.85l21.55,21.55,63.79-36.94,16.99,37.04,14.01-21.74-12.06-26.27ZM32.89,65.66l32.42-48.87,10.91,23.77-43.32,25.09Z"/>
|
||||
</svg>
|
||||
|
Before Width: | Height: | Size: 341 B |
@@ -97,7 +97,7 @@ own (`AGENTS.md`: no Microsoft iconography, ever).
|
||||
| 2026-10-11 | trivial | Menu buttons (Header, Page Number, Breaks, Wrap Text, table Select/Delete/AutoFit…) grey out and don't open while the command their menu is about is disabled, like the other ribbon buttons (#658) |
|
||||
| 2026-10-11 | trivial | One drop-down marker everywhere: large ribbon buttons, Equation and the Editing/Reviewing button draw the `dropdown` icon after their label, like split and menu buttons, instead of a text glyph (#659) |
|
||||
| 2026-10-11 | trivial | Dark theme: Styles, style-set and table-style previews sit on a dimmer page tone; with View › Switch Modes on, the Styles gallery previews the dark page (#663) |
|
||||
| 2026-10-11 | trivial | Dialog primary buttons, the Discord pill, the table eraser line and the Navigation search highlight take their colours from the theme in both themes (`widgets::primary_button`); a test bans the old fixed values (#656) |
|
||||
| 2026-10-11 | trivial | Dialog primary buttons, the table eraser line and the Navigation search highlight take their colours from the theme in both themes (`widgets::primary_button`); a test bans the old fixed values (#656) |
|
||||
| 2026-10-11 | trivial | Dark theme: Share, the avatar initials, the AutoSave knob and keytips use dark `on_accent` text on the light accent (6.2:1, 8.4:1 on hover; white was 2.9:1) (#655) |
|
||||
| 2026-10-11 | trivial | Text field and combo outlines reach 3:1 against their fill and surroundings in both themes (light #8A8A8A, dark #7A7A7A); a test pins the ratios (#657) |
|
||||
| 2026-10-11 | trivial | Customize Ribbon (custom tabs and groups, hidden and reordered tabs) and a customizable Quick Access Toolbar with a working … menu (#379, #376) |
|
||||
|
||||
@@ -18,10 +18,9 @@
|
||||
<launchable type="desktop-id">ai.storyteller.wordcraft.desktop</launchable>
|
||||
<icon type="stock">ai.storyteller.wordcraft</icon>
|
||||
<!-- Only url types known to appstream 0.15 (Ubuntu 22.04, where CI validates): no vcs-browser. -->
|
||||
<url type="homepage">https://getartcraft.com/apps/wordcraft</url>
|
||||
<url type="homepage">https://github.com/storytold/wordcraft</url>
|
||||
<url type="bugtracker">https://github.com/storytold/wordcraft/issues</url>
|
||||
<url type="help">https://github.com/storytold/wordcraft</url>
|
||||
<url type="contact">https://discord.gg/artcraft</url>
|
||||
<categories>
|
||||
<category>Office</category>
|
||||
<category>WordProcessor</category>
|
||||
|
||||
@@ -14,7 +14,7 @@ section: graphics
|
||||
priority: optional
|
||||
maintainer: ${WORDCRAFT_MAINTAINER}
|
||||
vendor: Learning Machines LLC
|
||||
homepage: https://getartcraft.com/apps/wordcraft
|
||||
homepage: https://github.com/storytold/wordcraft
|
||||
license: MIT OR Apache-2.0
|
||||
description: |-
|
||||
Open-source, native word processor that works the way Word users expect.
|
||||
|
||||
@@ -33,9 +33,9 @@
|
||||
|
||||
<Icon Id="WordcraftIcon.ico" SourceFile="$(var.IconPath)" />
|
||||
<Property Id="ARPPRODUCTICON" Value="WordcraftIcon.ico" />
|
||||
<Property Id="ARPURLINFOABOUT" Value="https://getartcraft.com/apps/wordcraft" />
|
||||
<Property Id="ARPURLUPDATEINFO" Value="https://getartcraft.com/apps/wordcraft" />
|
||||
<Property Id="ARPHELPLINK" Value="https://discord.gg/artcraft" />
|
||||
<Property Id="ARPURLINFOABOUT" Value="https://github.com/storytold/wordcraft" />
|
||||
<Property Id="ARPURLUPDATEINFO" Value="https://github.com/storytold/wordcraft" />
|
||||
<Property Id="ARPHELPLINK" Value="https://github.com/storytold/wordcraft/issues" />
|
||||
|
||||
<!-- Installer UI (#198): WixUI_Minimal is welcome + license, progress, then a finish page so
|
||||
people can see the install worked. Its dialogs and bitmaps are WiX's own
|
||||
|
||||