Updated readme, and examples.
Updated the readme to describe the product. Added a few examples to show specific mechanics.
This commit is contained in:
parent
90368c778a
commit
b0a9749559
6 changed files with 67 additions and 0 deletions
58
README.md
58
README.md
|
@ -1,2 +1,60 @@
|
|||
# jaPitchPlotter
|
||||
A tool to produce SVGs of Japanese pitch accent patterns
|
||||
|
||||
## About
|
||||
This tool is designed to produce simple SVG images of Japanese pitch accent
|
||||
patterns. If you want to dig into the specifics about what they are, do like I
|
||||
do and learn from [Dogen at Patreon](https://www.patreon.com/dogen).
|
||||
|
||||
The tool is designed to take in three strings describing a given word or phrase
|
||||
and the corresponding pitch accent patterns. The tool generally makes few
|
||||
assumptions about language, and relies upon you, the user to describe the
|
||||
pattern. It generally assumes that a small "y" kana (やゆよ) in either katakana
|
||||
or in hiragana is lumped with the prior kana, even if this doesn't make any
|
||||
sense. If you write るょ then the tool will quite happily keep going. Other than
|
||||
that it does assume that a small tsu (as in けっこう) is it's own mora.
|
||||
|
||||
The three strings are a key (or a name) for internal use. This can be a number
|
||||
if you want. Secondly the phonetics of the word or phrase in either katakana or
|
||||
hiragana, and finally a code representing the pitch accent of the phonetic
|
||||
phrase. Examples are given in the 'example_codes.txt' file in this repository
|
||||
separated by colons.
|
||||
|
||||
## Examples
|
||||
Note by default the examples assume you do not change the default option of
|
||||
dropping the final point indicating the difference between a heiban (平板) and
|
||||
odaka (尾高) word. This is easily overridden by using the named variable
|
||||
`includeFinalOpen=True` in the parseToneString call.
|
||||
|
||||
| Phonetics | Code | Result |
|
||||
| :---: | :---: | :--- |
|
||||
| べんきょう | `0/4` | 4 mora 平板 |
|
||||
| べんきょうになる | `0/4,1/2` | 4 mora 平板 connected to particle and 2 mora 頭高 |
|
||||
| べんきょうになる | `0/4,*1/2` | disconnected line between particle and second word |
|
||||
| でんしゃは | `2/3` | 3 mora 中高 with marked particle |
|
||||
| べんきょうして | `0/4*,*0/2` | disconnected line, no implied particle |
|
||||
|
||||
In short rules are:
|
||||
|
||||
+ <downstep location\>/<length of word\>
|
||||
+ commas separating groups
|
||||
+ trailing \* to drop an implied particle
|
||||
+ leading \* to remove a connecting line
|
||||
+ no whitespace tolerance (BUG!)
|
||||
|
||||
## Misc
|
||||
|
||||
Example images are available in the examples directory. Color, font, spacing,
|
||||
padding, size, and plot styles are configurable. I personally use Inkscape to
|
||||
convert SVG to other formats when needed. A handy bash command to do this for
|
||||
is:
|
||||
```bash
|
||||
for SVG_FILE in examples/*.svg; do
|
||||
PNG_FILE="${SVG_FILE/.svg/.png}"
|
||||
inkscape --export-png="${PNG_FILE}" "${SVG_FILE}"
|
||||
done
|
||||
```
|
||||
|
||||
Send me your bugs (gently).
|
||||
|
||||
-Luke ([@siriusfox](https://twitter.com/siriusfox))
|
|
@ -2,3 +2,6 @@
|
|||
銀行じゃない:ぎんこうじゃない:0/4,1/2
|
||||
電車は:でんしゃは:2/3
|
||||
電車:でんしゃ:2/3
|
||||
勉強:べんきょう:0/4
|
||||
勉強になる:べんきょうになる:0/4,1/2
|
||||
実施が:じっしが:0/3
|
||||
|
|
2
examples/勉強.svg
Normal file
2
examples/勉強.svg
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<svg baseProfile="full" height="127" version="1.1" width="210" xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><g id="master_group" transform="translate(30,65)"><g id="graph"><circle cx="0" cy="0" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><circle cx="50" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="45.05025253169417" x2="4.949747468305833" y1="-45.05025253169417" y2="-4.949747468305833" /><circle cx="100" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="93" x2="57" y1="-50" y2="-50" /><circle cx="150" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="143" x2="107" y1="-50" y2="-50" /></g><g fill="#000000" font-family="Noto Sans" font-size="27" id="moras" text-anchor="middle"><text id="moras" style="text-align:center;font-weight:bold;" x="0" y="47">べ</text><text id="moras" style="text-align:center;font-weight:bold;" x="50" y="47">ん</text><text id="moras" style="text-align:center;font-weight:bold;" x="100" y="47">きょ</text><text id="moras" style="text-align:center;font-weight:bold;" x="150" y="47">う</text></g></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
2
examples/勉強になる.svg
Normal file
2
examples/勉強になる.svg
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<svg baseProfile="full" height="127" version="1.1" width="360" xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><g id="master_group" transform="translate(30,65)"><g id="graph"><circle cx="0" cy="0" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><circle cx="50" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="45.05025253169417" x2="4.949747468305833" y1="-45.05025253169417" y2="-4.949747468305833" /><circle cx="100" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="93" x2="57" y1="-50" y2="-50" /><circle cx="150" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="143" x2="107" y1="-50" y2="-50" /><circle cx="200" cy="-50" fill="none" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="193" x2="157" y1="-50" y2="-50" /><circle cx="250" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="243" x2="207" y1="-50" y2="-50" /><circle cx="300" cy="0" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="295.0502525316942" x2="254.94974746830584" y1="-4.949747468305833" y2="-45.05025253169417" /></g><g fill="#000000" font-family="Noto Sans" font-size="27" id="moras" text-anchor="middle"><text id="moras" style="text-align:center;font-weight:bold;" x="0" y="47">べ</text><text id="moras" style="text-align:center;font-weight:bold;" x="50" y="47">ん</text><text id="moras" style="text-align:center;font-weight:bold;" x="100" y="47">きょ</text><text id="moras" style="text-align:center;font-weight:bold;" x="150" y="47">う</text><text id="moras" style="text-align:center;font-weight:bold;" x="200" y="47">に</text><text id="moras" style="text-align:center;font-weight:bold;" x="250" y="47">な</text><text id="moras" style="text-align:center;font-weight:bold;" x="300" y="47">る</text></g></g></svg>
|
After Width: | Height: | Size: 2.1 KiB |
2
examples/実施が.svg
Normal file
2
examples/実施が.svg
Normal file
|
@ -0,0 +1,2 @@
|
|||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<svg baseProfile="full" height="127" version="1.1" width="210" xmlns="http://www.w3.org/2000/svg" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xlink="http://www.w3.org/1999/xlink"><defs /><g id="master_group" transform="translate(30,65)"><g id="graph"><circle cx="0" cy="0" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><circle cx="50" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="45.05025253169417" x2="4.949747468305833" y1="-45.05025253169417" y2="-4.949747468305833" /><circle cx="100" cy="-50" fill="#000000" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="93" x2="57" y1="-50" y2="-50" /><circle cx="150" cy="-50" fill="none" r="7" stroke="#000000" stroke-width="3" /><line stroke="#000000" stroke-width="3" x1="143" x2="107" y1="-50" y2="-50" /></g><g fill="#000000" font-family="Noto Sans" font-size="27" id="moras" text-anchor="middle"><text id="moras" style="text-align:center;font-weight:bold;" x="0" y="47">じ</text><text id="moras" style="text-align:center;font-weight:bold;" x="50" y="47">っ</text><text id="moras" style="text-align:center;font-weight:bold;" x="100" y="47">し</text><text id="moras" style="text-align:center;font-weight:bold;" x="150" y="47">が</text></g></g></svg>
|
After Width: | Height: | Size: 1.3 KiB |
0
parse_examples.py
Normal file → Executable file
0
parse_examples.py
Normal file → Executable file
Reference in a new issue