Skip to content

Commit

Permalink
Update to 1.0.0
Browse files Browse the repository at this point in the history
  • Loading branch information
Yaulendil committed Nov 19, 2022
1 parent adf6117 commit 1dfb51f
Show file tree
Hide file tree
Showing 5 changed files with 50 additions and 26 deletions.
5 changes: 5 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Changelog

---
## 1.0.0: 2022-11-19
- Released.
2 changes: 1 addition & 1 deletion Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 3 additions & 3 deletions Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
[package]
name = "tengwar"
description = "Transliterate latin text into J.R.R. Tolkien's Tengwar."
version = "0.10.0-dev"
description = "Transliterate text into J.R.R. Tolkien's Tengwar."
version = "1.0.0"

authors = ["Yaulendil <[email protected]>"]
authors = ["Yaulendil"]
repository = "https://github.com/yaulendil/tengwar-rs"
readme = "README.md"

Expand Down
42 changes: 39 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,8 +31,8 @@ When run directly, reads all command-line arguments and prints them back in Teng
> tengwar "Elen síla lúmenn' omentielvo :"
    

> tengwar "Utúlie'n aurë ! Aiya Eldalië ar Atanatári , utúlie'n aurë !."
         
> tengwar "Utúlie'n aurë!, Aiya Eldalië ar Atanatári , utúlie'n aurë!:"
        

If no arguments are provided, reads from Standard Input and prints transliteration to Standard Output line by line.
All input is assumed to be UTF-8 encoded, and output will also be UTF-8 encoded.
Expand All @@ -51,6 +51,42 @@ Alternative "Modes" can be selected via command-line switch:

The full list of available modes can be viewed with `tengwar -h`.


### Numerals

Numbers are parsed quite differently from alphabetical text.
This is because in Tengwar, the least significant digit is placed on the left, and numbers typically use a Base 12 system.
The requirement to parse a number as a whole does, however, allow for some formatting to be specified inline.
Plain numbers are simple enough:

> tengwar "9"


The default presentation is in duodecimal, Base 12, as is the custom of the Elves:

> tengwar "22"


Prefixing a number with `#` will force a number to be presented in decimal, Base 10:

> tengwar "#22"


Suffixing a number with `@` will append a suffix to specify an Ordinal number — for instance, "second" instead of "two":

> tengwar "Laurelin nánë i 2@ alda"
    

Suffixing a number between 1 and 24 with `#` will eschew the typical numerals entirely, and instead use the regular tengwar as indices for a sequence.
This usage was described by Christopher Tolkien, and published in [Quettar #1](https://www.quettar.org/special1.pdf).
This is analogous to using the Latin alphabet to enumerate a list (`a.`, `b.`, etc).

> tengwar "1#︙ Telperion
2#︙ Laurelin"
 
 


### Ligation

Two forms of ligation are currently supported.
Expand Down Expand Up @@ -78,7 +114,7 @@ Tengwar [punctuation](https://at.mansbjorkman.net/teng_punctuation.htm) is essen
It is therefore probably best to not even try, and instead to punctuate the input text with the output in mind.

This program does convert punctuation marks into Unicode codepoints, but whitespace is passed through verbatim, neither added nor subtracted¹.
As of this writing at version `0.8.0`, punctuation is processed as can be seen above and in the following table:
As of this writing at version `1.0.0`, punctuation is processed as can be seen above and in the following table:

| Input | Output |
|--------------------|:------:|
Expand Down
21 changes: 2 additions & 19 deletions TODO.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,20 @@
# TODO

---
## 1.0.0

### CLI
### Docs
### Input
- [x] Normalize diacritics in input
- [x] ~~Support (duo)decimal points OR~~ drop generic in `Numeral`
### Library
- [x] Implement "sequence" numerals
- [x] Redo ZWJ ligature cases
### Output
- [x] Write nonfinal rincë **before** tehtar
### Tests
- [x] Write iterator-focused test suite in `tests/`
- [x] Write numeral-focused tests

---
## 1.1.0

### CLI
### Docs
### Input
- [ ] Allow custom Modes to be specified via a config language (Would TOML work?)
### Library
- [ ] Gondor "Full" Mode
- [ ] Flesh out `Policy` to make ligature/rincë rules extensible
### Output
### Tests

---
## Whenever
## TBD

### CLI
### Docs
Expand All @@ -40,7 +24,6 @@
- Possible division:
- Explicit "mode" options (`--quenya`, `--gondor`) become "language" options (`--quenya`, `--sindarin`), each mapping to a "primary mode" for the language
- Values of `--mode` option (`--mode=quenya`, `--mode=gondor`) stripped of language meaning (`--mode=classical`, `--mode=gondor`)
- [ ] Allow custom Modes to be specified via a config language (Would TOML work?)
### Library
- [ ] Cirth
- [ ] English Mode?
Expand Down

0 comments on commit 1dfb51f

Please sign in to comment.