diff --git a/src/components/management/IPAField.jsx b/src/components/management/IPAField.jsx index 7187158..cb46d36 100644 --- a/src/components/management/IPAField.jsx +++ b/src/components/management/IPAField.jsx @@ -2,7 +2,7 @@ import Inferno from 'inferno'; import Component from 'inferno-component'; const phondueUsage = require('../../../vendor/KeyboardFire/phondue/usage.html'); -const digraphsHexes = require('../../../vendor/KeyboardFire/phondue/digraphs.txt'); +const digraphs = require('../../../vendor/KeyboardFire/phondue/digraphs.json'); import Helper from '../../Helper'; @@ -23,19 +23,6 @@ export class IPAField extends Component { } this.field = null; - this.digraphs = {}; - } - - componentDidMount () { - // Decode digraph hexes. - digraphsHexes.split('\n').forEach(digraph => { - let chunks = digraph.match(/\S{8}/g); - if (!chunks || chunks.length != 3) return; // failsafe - chunks = chunks.map(hex => { - return String.fromCharCode(parseInt(hex, 16)); - }); - this.digraphs[chunks[0] + chunks[1]] = chunks[2]; - }); } showHelp () { @@ -45,12 +32,19 @@ export class IPAField extends Component {
this.setState({ doShowHelp: false })} />
-
+
+

+ IPA Shortcuts +

+
+
-
+
); @@ -63,11 +57,11 @@ export class IPAField extends Component {
this.setState({ doShowTable: false })} /> -
+ this.setState({ value: newValue }, this.field.focus())} /> -
+
); } @@ -100,7 +94,7 @@ export class IPAField extends Component { if (event.key) { const key = event.key - , digraph = this.digraphs[val.substr(pos - 1, 1) + key]; + , digraph = digraphs[val.substr(pos - 1, 1) + key]; if (digraph) { event.preventDefault(); diff --git a/src/components/management/IPATable.jsx b/src/components/management/IPATable.jsx index 007fb29..14cf1e5 100644 --- a/src/components/management/IPATable.jsx +++ b/src/components/management/IPATable.jsx @@ -14,1297 +14,1307 @@ export const IPATable = ({value, update}) => { } return ( -
- this.field = field} - value={value} /> +
+ +
+ this.field = field} + value={value} /> +
+ +
+

+ Hover over characters to see their Phondue shortcuts. +

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + Bilabial + + Labiodental + + Dental + + Alveolar + + Postalveolar + + Palatal + + Velar + + Uvular + + Pharyngeal + + Glottal +
+ Plosive + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Nasal + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Trill + + + + + + + + + + + + + + + + + + + + + + + +
+ Tap/Flap + + + + + + + + + + + + + + + + + + + + + + +
+ Fricative + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Lateral fricative + + + + + + + + + + + + + + + + + + + + + + +
+ Approximant + + + + + + + + + + + + + + + + + + + + + + + + +
+ Lateral approximant + + + + + + + + + + + + + + + + + + + + + + + +
+ + Front + + Central + + Back + + + Non-pulmonic + + + Other + + + Diacritics +
+ Close + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Near-close + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Close-mid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Mid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Open-mid + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ Near-open + + + + + + + + + + + + + + + + + +
+ Open + + + + + + + + + + + + + + + + + + Suprasegmental + + + + + + + + + + + + + + + + +
+ +
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Bilabial - - Labiodental - - Dental - - Alveolar - - Postalveolar - - Palatal - - Velar - - Uvular - - Pharyngeal - - Glottal -
- Plosive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Nasal - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Trill - - - - - - - - - - - - - - - - - - - - - - - -
- Tap/Flap - - - - - - - - - - - - - - - - - - - - - - -
- Fricative - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Lateral fricative - - - - - - - - - - - - - - - - - - - - - - -
- Approximant - - - - - - - - - - - - - - - - - - - - - - - - -
- Lateral approximant - - - - - - - - - - - - - - - - - - - - - - - -
- - Front - - Central - - Back - - - Non-pulmonic - - - Other - - - Diacritics -
- Close - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Near-close - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Close-mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Open-mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Near-open - - - - - - - - - - - - - - - - - -
- Open - - - - - - - - - - - - - - - - - - Suprasegmental - - - - - - - - - - - - - - - - -
) } \ No newline at end of file diff --git a/vendor/KeyboardFire/phondue/digraphs.json b/vendor/KeyboardFire/phondue/digraphs.json new file mode 100644 index 0000000..7c27089 --- /dev/null +++ b/vendor/KeyboardFire/phondue/digraphs.json @@ -0,0 +1,373 @@ +{ + "!*": "ǃ", + "!/": "¡", + "\"^": "̋", + "\"_": "̏", + "#_": "̻", + "''": "ˈ", + "')": "ʼ", + "'-": "˔", + "'^": "́", + "'_": "̀", + "((": "͡", + "(_": "̜", + "))": "͜", + ")_": "̹", + "+_": "̟", + "+|": "ꜛ", + ",,": "ˌ", + ",-": "˕", + "-'": "˔", + "-,": "˕", + "-?": "ʡ", + "-E": "ɘ", + "-H": "ħ", + "-I": "ɨ", + "-J": "ɟ", + "-L": "ɬ", + "-O": "ɵ", + "-U": "ʉ", + "-^": "̄", + "-e": "ɘ", + "-h": "ħ", + "-i": "ɨ", + "-j": "ɟ", + "-l": "ɬ", + "-o": "ɵ", + "-u": "ʉ", + "-|": "ꜜ", + "-ʔ": "ʡ", + "-ʕ": "ʢ", + "-ʡ": "ʔ", + "-ʢ": "ʕ", + "-ː": "ˑ", + "-ˑ": "ː", + "/>": "↗", + "/\\": "ʌ", + "/^": "↗", + "1|": "˩", + "2|": "˨", + "3|": "˧", + "4|": "˦", + "5|": "˥", + "::": "ː", + ":^": "̈", + ":_": "̤", + "<|": "⊣", + "=*": "ǁ", + ">/": "↗", + ">R": "˞", + ">\\": "↘", + ">^": "̚", + ">r": "˞", + ">|": "⊢", + "?-": "ʡ", + "?/": "ʕ", + "??": "ʔ", + "A/": "ɐ", + "AA": "ɑ", + "AE": "æ", + "A|": "ɑ", + "B(": "ɓ", + "BB": "ʙ", + "BH": "β", + "C,": "ç", + "C/": "ɔ", + "CE": "ɶ", + "D(": "ɗ", + "D)": "ɖ", + "DH": "ð", + "E-": "ɘ", + "E/": "ə", + "EB": "ɞ", + "EE": "ɛ", + "G(": "ɠ", + "GG": "ɢ", + "H,": "ɦ", + "H-": "ħ", + "H/": "ɥ", + "HH": "ʜ", + "H^": "ʰ", + "I-": "ɨ", + "II": "ɪ", + "J(": "ʄ", + "J,": "ʝ", + "J-": "ɟ", + "J^": "ʲ", + "K/": "ʞ", + "L)": "ɭ", + "L-": "ɬ", + "LL": "ʟ", + "LR": "ɺ", + "LZ": "ɮ", + "L^": "ˡ", + "Lɾ": "ɺ", + "M,": "ɱ", + "M/": "ɯ", + "M^": "ᵐ", + "N)": "ɳ", + "N,": "ŋ", + "NN": "ɴ", + "N^": "ⁿ", + "O*": "ʘ", + "O-": "ɵ", + "O.": "ʘ", + "O/": "ø", + "OE": "œ", + "OO": "ɞ", + "OX": "ɤ", + "O^": "̊", + "O_": "̥", + "O|": "ɑ", + "PH": "ɸ", + "R)": "ɽ", + "R/": "ɹ", + "R0": "ɾ", + "R>": "˞", + "RL": "ɺ", + "RO": "ɾ", + "RR": "ʀ", + "S)": "ʂ", + "SH": "ʃ", + "SJ": "ɕ", + "T)": "ʈ", + "TH": "θ", + "U-": "ʉ", + "UU": "ʊ", + "U^": "̆", + "U_": "̮", + "V,": "ⱱ", + "V/": "ʌ", + "V0": "ʋ", + "VO": "ʋ", + "V^": "̌", + "V_": "̬", + "W,": "ɰ", + "W/": "ʍ", + "W^": "ʷ", + "W|": "ɰ", + "X,": "ɣ", + "XO": "ɤ", + "XX": "χ", + "X^": "̽", + "Xʃ": "ɧ", + "Y/": "ʎ", + "YY": "ʏ", + "Z)": "ʐ", + "ZH": "ʒ", + "ZJ": "ʑ", + "[]": "̻", + "[_": "̪", + "\\>": "↘", + "\\V": "↘", + "\\v": "↘", + "]_": "̺", + "^\"": "̋", + "^'": "́", + "^-": "̄", + "^/": "↗", + "^:": "̈", + "^>": "̚", + "^H": "ʰ", + "^J": "ʲ", + "^L": "ˡ", + "^M": "ᵐ", + "^N": "ⁿ", + "^O": "̊", + "^U": "̆", + "^V": "̌", + "^W": "ʷ", + "^X": "̽", + "^^": "̂", + "^_": "̯", + "^h": "ʰ", + "^j": "ʲ", + "^l": "ˡ", + "^m": "ᵐ", + "^n": "ⁿ", + "^o": "̊", + "^u": "̆", + "^v": "̌", + "^w": "ʷ", + "^x": "̽", + "^|": "̍", + "^~": "̃", + "^ŋ": "ᵑ", + "^ɣ": "ˠ", + "^ɥ": "ᶣ", + "^ʋ": "ᶹ", + "^ʕ": "ˤ", + "_\"": "̏", + "_#": "̻", + "_'": "̀", + "_(": "̜", + "_)": "̹", + "_+": "̟", + "_:": "̤", + "_O": "̥", + "_U": "̮", + "_V": "̬", + "_[": "̪", + "_]": "̺", + "_^": "̯", + "__": "̠", + "_o": "̥", + "_u": "̮", + "_v": "̬", + "_{": "̼", + "_|": "̩", + "_~": "̰", + "_˔": "̝", + "_˕": "̞", + "_⊢": "̙", + "_⊣": "̘", + "a/": "ɐ", + "a|": "ɑ", + "b(": "ɓ", + "c,": "ç", + "c/": "ɔ", + "d(": "ɗ", + "d)": "ɖ", + "e-": "ɘ", + "e/": "ə", + "g(": "ɠ", + "h,": "ɦ", + "h-": "ħ", + "h/": "ɥ", + "h^": "ʰ", + "i-": "ɨ", + "j(": "ʄ", + "j,": "ʝ", + "j-": "ɟ", + "j^": "ʲ", + "k/": "ʞ", + "l)": "ɭ", + "l-": "ɬ", + "l^": "ˡ", + "lɾ": "ɺ", + "m,": "ɱ", + "m/": "ɯ", + "m^": "ᵐ", + "n)": "ɳ", + "n,": "ŋ", + "n^": "ⁿ", + "o*": "ʘ", + "o-": "ɵ", + "o.": "ʘ", + "o/": "ø", + "o^": "̊", + "o_": "̥", + "o|": "ɑ", + "r)": "ɽ", + "r/": "ɹ", + "r0": "ɾ", + "r>": "˞", + "rO": "ɾ", + "s)": "ʂ", + "t)": "ʈ", + "u-": "ʉ", + "u^": "̆", + "u_": "̮", + "v,": "ⱱ", + "v/": "ʌ", + "v0": "ʋ", + "vO": "ʋ", + "v^": "̌", + "v_": "̬", + "w,": "ɰ", + "w/": "ʍ", + "w^": "ʷ", + "w|": "ɰ", + "x,": "ɣ", + "x^": "̽", + "xʃ": "ɧ", + "y/": "ʎ", + "z)": "ʐ", + "{_": "̼", + "|*": "ǀ", + "|-": "ꜜ", + "|<": "⊣", + "|=": "ǂ", + "|>": "⊢", + "|A": "ɒ", + "|O": "ɒ", + "|^": "̍", + "|_": "̩", + "|a": "ɒ", + "|o": "ɒ", + "||": "‖", + "~^": "̃", + "~_": "̰", + "~~": "̴", + "ŋ,": "ɲ", + "ŋ^": "ᵑ", + "ŋᵑ": "^", + "ɑ/": "ɒ", + "ɒ/": "ɑ", + "ɖ(": "ᶑ", + "ɗ)": "ᶑ", + "ɛ/": "ɜ", + "ɜ(": "ɞ", + "ɜ/": "ɛ", + "ɞ(": "ɜ", + "ɟ(": "ʄ", + "ɢ(": "ʛ", + "ɣ,": "χ", + "ɣ^": "ˠ", + "ɣˠ": "^", + "ɥ^": "ᶣ", + "ɥᶣ": "^", + "ɧX": "ʃ", + "ɧx": "ʃ", + "ɧʃ": "x", + "ɲ,": "ŋ", + "ɹ)": "ɻ", + "ɺL": "ɾ", + "ɺl": "ɾ", + "ɺɾ": "l", + "ɻ)": "ɹ", + "ɽ)": "ɾ", + "ɾ)": "ɽ", + "ɾL": "ɺ", + "ɾl": "ɺ", + "ʀ/": "ʁ", + "ʁ/": "ʀ", + "ʃX": "ɧ", + "ʃx": "ɧ", + "ʄ(": "ɟ", + "ʋ^": "ᶹ", + "ʋᶹ": "^", + "ʔ-": "ʡ", + "ʔ/": "ʕ", + "ʕ-": "ʢ", + "ʕ/": "ʔ", + "ʕ^": "ˤ", + "ʕˤ": "^", + "ʛ(": "ɢ", + "ʡ-": "ʔ", + "ʢ-": "ʕ", + "ː-": "ˑ", + "ˑ-": "ː", + "˔_": "̝", + "˔̝": "_", + "˕_": "̞", + "˕̞": "_", + "ˠɣ": "^", + "ˤʕ": "^", + "̘⊣": "_", + "̙⊢": "_", + "̝˔": "_", + "̞˕": "_", + "͜)": "‿", + "χ,": "ɣ", + "ᵑŋ": "^", + "ᶑ(": "ɖ", + "ᶑ)": "ɗ", + "ᶣɥ": "^", + "ᶹʋ": "^", + "‿)": "͜", + "⊢_": "̙", + "⊢̙": "_", + "⊣_": "̘", + "⊣̘": "_" +} \ No newline at end of file diff --git a/vendor/KeyboardFire/phondue/digraphs.txt b/vendor/KeyboardFire/phondue/digraphs.txt deleted file mode 100644 index ed25b35..0000000 --- a/vendor/KeyboardFire/phondue/digraphs.txt +++ /dev/null @@ -1,379 +0,0 @@ -000000210000002a 000001c3 -000000210000002f 000000a1 -000000220000005e 0000030b -000000220000005f 0000030f -000000230000005f 0000033b -0000002700000027 000002c8 -0000002700000029 000002bc -000000270000002d 000002d4 -000000270000005e 00000341 -000000270000005f 00000340 -0000002800000028 00000361 -000000280000005f 0000031c -0000002900000029 0000035c -000000290000005f 00000339 -0000002b0000005f 0000031f -0000002b0000007c 0000a71b -0000002c0000002c 000002cc -0000002c0000002d 000002d5 -0000002d00000027 000002d4 -0000002d0000002c 000002d5 -0000002d0000003f 000002a1 -0000002d00000045 00000258 -0000002d00000048 00000127 -0000002d00000049 00000268 -0000002d0000004a 0000025f -0000002d0000004c 0000026c -0000002d0000004f 00000275 -0000002d00000055 00000289 -0000002d0000005e 00000304 -0000002d00000065 00000258 -0000002d00000068 00000127 -0000002d00000069 00000268 -0000002d0000006a 0000025f -0000002d0000006c 0000026c -0000002d0000006f 00000275 -0000002d00000075 00000289 -0000002d0000007c 0000a71c -0000002d00000294 000002a1 -0000002d00000295 000002a2 -0000002d000002a1 00000294 -0000002d000002a2 00000295 -0000002d000002d0 000002d1 -0000002d000002d1 000002d0 -0000002f0000003e 00002197 -0000002f0000005c 0000028c -0000002f0000005e 00002197 -000000310000007c 000002e9 -000000320000007c 000002e8 -000000330000007c 000002e7 -000000340000007c 000002e6 -000000350000007c 000002e5 -0000003a0000003a 000002d0 -0000003a0000005e 00000308 -0000003a0000005f 00000324 -0000003c0000007c 000022a3 -0000003d0000002a 000001c1 -0000003e0000002f 00002197 -0000003e00000052 000002de -0000003e0000005c 00002198 -0000003e0000005e 0000031a -0000003e00000072 000002de -0000003e0000007c 000022a2 -0000003f0000002d 000002a1 -0000003f0000002f 00000295 -0000003f0000003f 00000294 -000000410000002f 00000250 -0000004100000041 00000251 -0000004100000045 000000e6 -000000410000007c 00000251 -0000004200000028 00000253 -0000004200000042 00000299 -0000004200000048 000003b2 -000000430000002c 000000e7 -000000430000002f 00000254 -0000004300000045 00000276 -0000004400000028 00000257 -0000004400000029 00000256 -0000004400000048 000000f0 -000000450000002d 00000258 -000000450000002f 00000259 -0000004500000042 0000025e -0000004500000045 0000025b -0000004700000028 00000260 -0000004700000047 00000262 -000000480000002c 00000266 -000000480000002d 00000127 -000000480000002f 00000265 -0000004800000048 0000029c -000000480000005e 000002b0 -000000490000002d 00000268 -0000004900000049 0000026a -0000004a00000028 00000284 -0000004a0000002c 0000029d -0000004a0000002d 0000025f -0000004a0000005e 000002b2 -0000004b0000002f 0000029e -0000004c00000029 0000026d -0000004c0000002d 0000026c -0000004c0000004c 0000029f -0000004c00000052 0000027a -0000004c0000005a 0000026e -0000004c0000005e 000002e1 -0000004c0000027e 0000027a -0000004d0000002c 00000271 -0000004d0000002f 0000026f -0000004d0000005e 00001d50 -0000004e00000029 00000273 -0000004e0000002c 0000014b -0000004e0000004e 00000274 -0000004e0000005e 0000207f -0000004f0000002a 00000298 -0000004f0000002d 00000275 -0000004f0000002e 00000298 -0000004f0000002f 000000f8 -0000004f00000045 00000153 -0000004f0000004f 0000025e -0000004f00000058 00000264 -0000004f0000005e 0000030a -0000004f0000005f 00000325 -0000004f0000007c 00000251 -0000005000000048 00000278 -0000005200000029 0000027d -000000520000002f 00000279 -0000005200000030 0000027e -000000520000003e 000002de -000000520000004c 0000027a -000000520000004f 0000027e -0000005200000052 00000280 -0000005300000029 00000282 -0000005300000048 00000283 -000000530000004a 00000255 -0000005400000029 00000288 -0000005400000048 000003b8 -000000550000002d 00000289 -0000005500000055 0000028a -000000550000005e 00000306 -000000550000005f 0000032e -000000560000002c 00002c71 -000000560000002f 0000028c -0000005600000030 0000028b -000000560000004f 0000028b -000000560000005e 0000030c -000000560000005e 0000030c -000000560000005f 0000032c -000000570000002c 00000270 -000000570000002f 0000028d -000000570000005e 000002b7 -000000570000007c 00000270 -000000580000002c 00000263 -000000580000004f 00000264 -0000005800000058 000003c7 -000000580000005e 0000033d -0000005800000283 00000267 -000000590000002f 0000028e -0000005900000059 0000028f -0000005a00000029 00000290 -0000005a00000048 00000292 -0000005a0000004a 00000291 -0000005b0000005d 0000033b -0000005b0000005f 0000032a -0000005c0000003e 00002198 -0000005c00000056 00002198 -0000005c00000076 00002198 -0000005d0000005f 0000033a -0000005e00000022 0000030b -0000005e00000027 00000341 -0000005e0000002d 00000304 -0000005e0000002f 00002197 -0000005e0000003a 00000308 -0000005e0000003e 0000031a -0000005e00000048 000002b0 -0000005e0000004a 000002b2 -0000005e0000004c 000002e1 -0000005e0000004d 00001d50 -0000005e0000004e 0000207f -0000005e0000004f 0000030a -0000005e00000055 00000306 -0000005e00000056 0000030c -0000005e00000056 0000030c -0000005e00000057 000002b7 -0000005e00000058 0000033d -0000005e0000005e 00000302 -0000005e0000005e 00000302 -0000005e0000005f 0000032f -0000005e00000068 000002b0 -0000005e0000006a 000002b2 -0000005e0000006c 000002e1 -0000005e0000006d 00001d50 -0000005e0000006e 0000207f -0000005e0000006f 0000030a -0000005e00000075 00000306 -0000005e00000076 0000030c -0000005e00000076 0000030c -0000005e00000077 000002b7 -0000005e00000078 0000033d -0000005e0000007c 0000030d -0000005e0000007e 00000303 -0000005e0000014b 00001d51 -0000005e00000263 000002e0 -0000005e00000265 00001da3 -0000005e0000028b 00001db9 -0000005e00000295 000002e4 -0000005f00000022 0000030f -0000005f00000023 0000033b -0000005f00000027 00000340 -0000005f00000028 0000031c -0000005f00000029 00000339 -0000005f0000002b 0000031f -0000005f0000003a 00000324 -0000005f0000004f 00000325 -0000005f00000055 0000032e -0000005f00000056 0000032c -0000005f0000005b 0000032a -0000005f0000005d 0000033a -0000005f0000005e 0000032f -0000005f0000005f 00000320 -0000005f0000005f 00000320 -0000005f0000006f 00000325 -0000005f00000075 0000032e -0000005f00000076 0000032c -0000005f0000007b 0000033c -0000005f0000007c 00000329 -0000005f0000007e 00000330 -0000005f000002d4 0000031d -0000005f000002d5 0000031e -0000005f000022a2 00000319 -0000005f000022a3 00000318 -000000610000002f 00000250 -000000610000007c 00000251 -0000006200000028 00000253 -000000630000002c 000000e7 -000000630000002f 00000254 -0000006400000028 00000257 -0000006400000029 00000256 -000000650000002d 00000258 -000000650000002f 00000259 -0000006700000028 00000260 -000000680000002c 00000266 -000000680000002d 00000127 -000000680000002f 00000265 -000000680000005e 000002b0 -000000690000002d 00000268 -0000006a00000028 00000284 -0000006a0000002c 0000029d -0000006a0000002d 0000025f -0000006a0000005e 000002b2 -0000006b0000002f 0000029e -0000006c00000029 0000026d -0000006c0000002d 0000026c -0000006c0000005e 000002e1 -0000006c0000027e 0000027a -0000006d0000002c 00000271 -0000006d0000002f 0000026f -0000006d0000005e 00001d50 -0000006e00000029 00000273 -0000006e0000002c 0000014b -0000006e0000005e 0000207f -0000006f0000002a 00000298 -0000006f0000002d 00000275 -0000006f0000002e 00000298 -0000006f0000002f 000000f8 -0000006f0000005e 0000030a -0000006f0000005f 00000325 -0000006f0000007c 00000251 -0000007200000029 0000027d -000000720000002f 00000279 -0000007200000030 0000027e -000000720000003e 000002de -000000720000004f 0000027e -0000007300000029 00000282 -0000007400000029 00000288 -000000750000002d 00000289 -000000750000005e 00000306 -000000750000005f 0000032e -000000760000002c 00002c71 -000000760000002f 0000028c -0000007600000030 0000028b -000000760000004f 0000028b -000000760000005e 0000030c -000000760000005e 0000030c -000000760000005f 0000032c -000000770000002c 00000270 -000000770000002f 0000028d -000000770000005e 000002b7 -000000770000007c 00000270 -000000780000002c 00000263 -000000780000005e 0000033d -0000007800000283 00000267 -000000790000002f 0000028e -0000007a00000029 00000290 -0000007b0000005f 0000033c -0000007c0000002a 000001c0 -0000007c0000002d 0000a71c -0000007c0000003c 000022a3 -0000007c0000003d 000001c2 -0000007c0000003e 000022a2 -0000007c00000041 00000252 -0000007c0000004f 00000252 -0000007c0000005e 0000030d -0000007c0000005f 00000329 -0000007c00000061 00000252 -0000007c0000006f 00000252 -0000007c0000007c 00002016 -0000007e0000005e 00000303 -0000007e0000005f 00000330 -0000007e0000007e 00000334 -0000014b0000002c 00000272 -0000014b0000005e 00001d51 -0000014b00001d51 0000005e -000002510000002f 00000252 -000002520000002f 00000251 -0000025600000028 00001d91 -0000025700000029 00001d91 -0000025b0000002f 0000025c -0000025c00000028 0000025e -0000025c0000002f 0000025b -0000025e00000028 0000025c -0000025f00000028 00000284 -0000026200000028 0000029b -000002630000002c 000003c7 -000002630000005e 000002e0 -00000263000002e0 0000005e -000002650000005e 00001da3 -0000026500001da3 0000005e -0000026700000058 00000283 -0000026700000078 00000283 -0000026700000283 00000058 -0000026700000283 00000078 -000002720000002c 0000014b -0000027900000029 0000027b -0000027a0000004c 0000027e -0000027a0000006c 0000027e -0000027a0000027e 0000004c -0000027a0000027e 0000006c -0000027b00000029 00000279 -0000027d00000029 0000027e -0000027e00000029 0000027d -0000027e0000004c 0000027a -0000027e0000006c 0000027a -000002800000002f 00000281 -000002810000002f 00000280 -0000028300000058 00000267 -0000028300000078 00000267 -0000028400000028 0000025f -0000028b0000005e 00001db9 -0000028b00001db9 0000005e -000002940000002d 000002a1 -000002940000002f 00000295 -000002950000002d 000002a2 -000002950000002f 00000294 -000002950000005e 000002e4 -00000295000002e4 0000005e -0000029b00000028 00000262 -000002a10000002d 00000294 -000002a20000002d 00000295 -000002d00000002d 000002d1 -000002d10000002d 000002d0 -000002d40000005f 0000031d -000002d40000031d 0000005f -000002d50000005f 0000031e -000002d50000031e 0000005f -000002e000000263 0000005e -000002e400000295 0000005e -00000318000022a3 0000005f -00000319000022a2 0000005f -0000031d000002d4 0000005f -0000031e000002d5 0000005f -0000035c00000029 0000203f -000003c70000002c 00000263 -00001d510000014b 0000005e -00001d9100000028 00000256 -00001d9100000029 00000257 -00001da300000265 0000005e -00001db90000028b 0000005e -0000203f00000029 0000035c -000022a20000005f 00000319 -000022a200000319 0000005f -000022a30000005f 00000318 -000022a300000318 0000005f diff --git a/vendor/KeyboardFire/phondue/index.html b/vendor/KeyboardFire/phondue/index.html deleted file mode 100644 index 7ab2ada..0000000 --- a/vendor/KeyboardFire/phondue/index.html +++ /dev/null @@ -1,143 +0,0 @@ - - - - - - Phondue - - - - -

Phondue

-

An IPA entry tool so good, it's delicious

-

Desktop version | Hover over any symbol to view its digraphs (ex. THθ)

-
- -

Usage

-

As seen in the above table, certain symbols of the IPA can be entered by -clicking on them. However, it is far more efficient to use the many keyboard -shortcuts that Phondue provides. These are called digraphs, since they are -made up of two letters, and they allow you to type any IPA symbol with only a -standard keyboard.

-

These symbols were decided to be intuitive as possible:

-
    -
  • -

    Many symbols that look similar to letters of the English alphabet (such as -small caps) can be produced by doubling the capital letter:

    -
      GG -> ɢ   ?? -> ʔ   NN -> ɴ   BB -> ʙ   RR -> ʀ   XX -> χ
    -  LL -> ʟ   II -> ɪ   YY -> ʏ   UU -> ʊ   EE -> ɛ   OO -> ɞ
    -  AA -> ɑ   '' -> ˈ   ,, -> ˌ   :: -> ː
    -
    -
  • -
  • -

    The slash is used to "reflect," "rotate," or otherwise flip around a given -symbol:

    -
      ʀ/ -> ʁ   ʔ/ -> ʕ   ?/ -> ʕ   r/ -> ɹ   y/ -> ʎ   m/ -> ɯ
    -  o/ -> ø   e/ -> ə   ɛ/ -> ɜ   c/ -> ɔ   a/ -> ɐ   ɑ/ -> ɒ
    -  w/ -> ʍ   h/ -> ɥ   k/ -> ʞ   !/ -> ¡   v/ -> ʌ
    -
    -

    Also note that for any digraph, if either of the two characters that -compose it are not "standard" letters you can find on your keyboard, the -digraph can be done in reverse order—so since ʀ/ produces ʁ, you can press -/ again to go back to ʀ in case of accidental flippage (it's also weirdly -amusing to press RR///////).

    -

    This sometimes makes it easier to enter certain pairs; you may prefer to -use AA for ɑ and AA/ for ɒ instead of the visual o| and |o.

    -
  • -
  • -

    Digraphs have also been designed for when a symbol looks like two overlayed -characters, or two characters next to each other. This includes "hooked" -letters (such as ŋ), produced with the original letter and a comma, and -"stroked" letters (such as ɟ), produced with the original letter and a dash:

    -
      m, -> ɱ   n, -> ŋ   ŋ, -> ɲ   v, -> ⱱ   c, -> ç   j, -> ʝ
    -  x, -> ɣ   ɣ, -> χ   h, -> ɦ   w, -> ɰ
    -
    -  j- -> ɟ   h- -> ħ   l- -> ɬ   i- -> ɨ   u- -> ʉ   e- -> ɘ
    -  o- -> ɵ   ʕ- -> ʢ   ?- -> ʡ   ʔ- -> ʡ
    -
    -  LZ -> ɮ   OX -> ɤ   XO -> ɤ   OE -> œ   EB -> ɞ   AE -> æ
    -  CE -> ɶ   RL -> ɺ   LR -> ɺ   ɾl -> ɺ   lɾ -> ɺ
    -
    -  w| -> ɰ   o/ -> ø   ɜ( -> ɞ   /\ -> ʌ   o| -> ɑ   a| -> ɑ
    -  |o -> ɒ   |a -> ɒ
    -
    -  o. -> ʘ   |= -> ǂ   || -> ‖   /^ -> ↗   /> -> ↗   \v -> ↘
    -  \> -> ↘
    -
    -
  • -
  • -

    Others are based on pronunciation:

    -
      PH -> ɸ   BH -> β   TH -> θ   DH -> ð   SH -> ʃ   ZH -> ʒ
    -  SJ -> ɕ   ZJ -> ʑ   ʃx -> ɧ   xʃ -> ɧ
    -
    -

    It may be worth noting at this point that digraphs of two lowercase letters -were intentionally avoided to prevent interference with regular typing. If -you need to type a sequence without it turning into a digraph (maybe you -want to type an actual ʃx), place a backslash between the two characters -(so, type ʃ\x).

    -

    In fact, [backslash][anything] is treated as a digraph that simply resolves -to the second character.

    -
  • -
  • -

    A few digraphs are based on shape:

    -
      rO -> ɾ   r0 -> ɾ   vO -> ʋ   v0 -> ʋ
    -
    -

    Another related point: digraphs that contain a lowercase letter can also be -typed with that letter as uppercase. So, if RO is easier to type than -rO, that works as well.

    -
  • -
  • -

    Retroflex and nonpulmonic symbols have their own categories:

    -
      retroflex: ) looks like the shape of the tongue
    -  t) -> ʈ   d) -> ɖ   n) -> ɳ   r) -> ɽ   ɾ) -> ɽ   s) -> ʂ
    -  z) -> ʐ   ɹ) -> ɻ   l) -> ɭ   ɗ) -> ᶑ
    -
    -  clicks: clicking noise reminiscent of a *
    -  o* -> ʘ   |* -> ǀ   !* -> ǃ   =* -> ǁ
    -
    -  implosives and ejective marker: direction of airflow
    -  b( -> ɓ   d( -> ɗ   j( -> ʄ   ɟ( -> ʄ   g( -> ɠ   ɢ( -> ʛ
    -  ɖ( -> ᶑ   ') -> ʼ
    -
    -
  • -
  • -

    Superscripts and diacritics that go above the letter use ^, diacritics that -go below use _, and miscellaneous "moved" symbols use < or >:

    -
      ^h -> ʰ   ^n -> ⁿ   ^m -> ᵐ   ^ŋ -> ᵑ   ^l -> ˡ   ^w -> ʷ
    -  ^j -> ʲ   ^ɥ -> ᶣ   ^ʋ -> ᶹ   ^ɣ -> ˠ   ^ʕ -> ˤ
    -
    -  _| -> ◌̩   ^| -> ◌̍   _o -> ◌̥   ^o -> ◌̊   _v -> ◌̬   ^v -> ◌̌
    -
    -  _^ -> ◌̯   _: -> ◌̤   _~ -> ◌̰   _[ -> ◌̪   _] -> ◌̺   _{ -> ◌̼
    -  _+ -> ◌̟   __ -> ◌̠   _) -> ◌̹   _( -> ◌̜   _# -> ◌̻   [] -> ◌̻
    -
    -  ^> -> ◌̚   ^: -> ◌̈   ^x -> ◌̽   ^~ -> ◌̃
    -
    -  -' -> ˔   _˔ -> ◌̝   -, -> ˕   _˕ -> ◌̞   <| -> ⊣   _⊣ -> ◌̘
    -  >| -> ⊢   _⊢ -> ◌̙
    -
    -  ~~ -> ◌̴   >r -> ˞
    -
    -

    Note that all of these sequences can be flipped in order—that is, ^h -produces the same thing as h^. This allows usage such as |<_ to produce -⊣_ which becomes ◌̘.

    -
  • -
  • -

    Tonal countours use numbers plus |:

    -
      5| -> ˥   4| -> ˦   3| -> ˧   2| -> ˨   1| -> ˩
    -  +| -> ꜛ   -| -> ꜜ
    -
    -
  • -
  • -

    Finally, some digraphs simply have unique mnemonics:

    -
      ː-  -> ˑ   "chop off" the bottom triangle
    -  ((  -> ◌͡◌  two parens for a tie that connects 2 chars
    -  ))  -> ◌͜◌
    -  ◌͜◌) -> ‿   one more paren to make it a little bit longer
    -
    -
  • -
- - - - diff --git a/vendor/KeyboardFire/phondue/phondue.css b/vendor/KeyboardFire/phondue/phondue.css deleted file mode 100644 index d13efb3..0000000 --- a/vendor/KeyboardFire/phondue/phondue.css +++ /dev/null @@ -1,48 +0,0 @@ -body { - font-family: sans-serif; - max-width: 1000px; - margin: 0px auto; - padding: 20px 10px; - color: #333; - background-color: #f7f7f7; - line-height: 1.6; -} - -h1 { - margin: 0px; -} - -#subtitle { - font-style: italic; - margin: 0px; -} - -table { - border-collapse: collapse; -} - -td { - padding: 0; - margin: 0; - text-align: center; -} -td.grey { - background-color: #ddd; -} - -button { - padding: 5px 10px; - border: none; - background: none; -} -button:hover { - background-color: #eee; - box-shadow: 0px 0px 10px rgba(0,0,0,0.2) inset; -} -button:active { - background-color: #ccc; -} - -#inputBox { - width: 98%; -} diff --git a/vendor/KeyboardFire/phondue/phondue.js b/vendor/KeyboardFire/phondue/phondue.js deleted file mode 100644 index 14c34e3..0000000 --- a/vendor/KeyboardFire/phondue/phondue.js +++ /dev/null @@ -1,54 +0,0 @@ -(function() { - var inputBox; - var keypress = function(e) { - var val = inputBox.value, - key = String.fromCharCode(e.which || e.keyCode), - pos = inputBox.selectionStart || val.length, - digraph = digraphs[val.substr(pos - 1, 1) + key]; - if (digraph) { - e.preventDefault(); - val = val.slice(0, pos - 1) + digraph + val.slice(pos); - inputBox.value = val; - } - }; - - var digraphs = {}; - - window.addEventListener('load', function() { - var phondue = document.getElementById('phondue'); - - var builderReq = new XMLHttpRequest(); - builderReq.addEventListener('load', function() { - phondue.innerHTML = this.responseText; - [].slice.call(document.getElementsByTagName('button')) - .forEach(function(btn) { - btn.addEventListener('click', function() { - inputBox.value += btn.innerText; - inputBox.focus(); - }); - }); - - inputBox = document.createElement('input'); - inputBox.id = 'inputBox'; - inputBox.spellcheck = false; - inputBox.addEventListener('keypress', keypress); - phondue.appendChild(inputBox); - }); - builderReq.open('GET', 'builder.html'); - builderReq.send(); - - var digraphsReq = new XMLHttpRequest(); - digraphsReq.addEventListener('load', function() { - this.responseText.split('\n').forEach(function(digraph) { - var chunks = digraph.match(/\S{8}/g); - if (!chunks || chunks.length != 3) return; // failsafe - chunks = chunks.map(function(hex) { - return String.fromCharCode(parseInt(hex, 16)); - }); - digraphs[chunks[0] + chunks[1]] = chunks[2]; - }); - }); - digraphsReq.open('GET', 'digraphs.txt'); - digraphsReq.send(); - }); -})(); diff --git a/vendor/KeyboardFire/phondue/table.html b/vendor/KeyboardFire/phondue/table.html deleted file mode 100644 index dcc8323..0000000 --- a/vendor/KeyboardFire/phondue/table.html +++ /dev/null @@ -1,1143 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- - Bilabial - - Labiodental - - Dental - - Alveolar - - Postalveolar - - Palatal - - Velar - - Uvular - - Pharyngeal - - Glottal -
- Plosive - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Nasal - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Trill - - - - - - - - - - - - - - - - - - - - - - - -
- Tap/Flap - - - - - - - - - - - - - - - - - - - - - - -
- Fricative - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Lateral fricative - - - - - - - - - - - - - - - - - - - - - - -
- Approximant - - - - - - - - - - - - - - - - - - - - - - - - -
- Lateral approximant - - - - - - - - - - - - - - - - - - - - - - - -
- - Front - - Central - - Back - - - Non-pulmonic - - - Other - - - Diacritics -
- Close - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Near-close - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Close-mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Open-mid - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
- Near-open - - - - - - - - - - - - - - - - - -
- Open - - - - - - - - - - - - - - - - - - Suprasegmental - - - - - - - - - - - - - - - - -
diff --git a/vendor/KeyboardFire/phondue/usage.html b/vendor/KeyboardFire/phondue/usage.html index 111fe92..c0c42f1 100644 --- a/vendor/KeyboardFire/phondue/usage.html +++ b/vendor/KeyboardFire/phondue/usage.html @@ -1,9 +1,7 @@ -

Usage

-

As seen in the above table, certain symbols of the IPA can be entered by -clicking on them. However, it is far more efficient to use the many keyboard -shortcuts that Phondue provides. These are called digraphs, since they are -made up of two letters, and they allow you to type any IPA symbol with only a -standard keyboard.

+

The Pronunciation field in Lexiconga utilizes KeyboardFire's +Phondue web script to make typing IPA pronunciations much more convenient. +Phondue provides many two-key keyboard shortcuts called digraphs +that allow you to type any IPA symbol with only a standard keyboard.

These symbols were decided to be intuitive as possible:

  • @@ -27,7 +25,8 @@ digraph can be done in reverse order—so since ʀ/ produces ʁ, you can press / again to go back to ʀ in case of accidental flippage (it's also weirdly amusing to press RR///////).

    This sometimes makes it easier to enter certain pairs; you may prefer to -use AA for ɑ and AA/ for ɒ instead of the visual o| and |o.

    +use AA for ɑ and AA/ for ɒ instead of the +visual o| and |o.

  • Digraphs have also been designed for when a symbol looks like two overlayed @@ -87,7 +86,8 @@ typed with that letter as uppercase. So, if RO is easier to type th

  • Superscripts and diacritics that go above the letter use ^, diacritics that -go below use _, and miscellaneous "moved" symbols use < or >:

    +go below use _, and miscellaneous "moved" symbols +use < or >:

      ^h -> ʰ   ^n -> ⁿ   ^m -> ᵐ   ^ŋ -> ᵑ   ^l -> ˡ   ^w -> ʷ
       ^j -> ʲ   ^ɥ -> ᶣ   ^ʋ -> ᶹ   ^ɣ -> ˠ   ^ʕ -> ˤ