Improve Phondue instructions, remove unused files.

Also un-hexed digraph file into JSON file for easier editing if
necessary. The filesize is also smaller.
This commit is contained in:
Robbie Antenesse 2017-04-27 16:28:01 -06:00
parent 7cd8ac75a3
commit adb7275f13
9 changed files with 1694 additions and 3084 deletions

View File

@ -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 {
<div className='modal-background'
onClick={() => this.setState({ doShowHelp: false })} />
<div className='modal-card'>
<div className='modal-card-body'>
<header className='modal-card-head'>
<h3 className='modal-card-title'>
IPA Shortcuts
</h3>
<button className='delete'
onClick={() => this.setState({ doShowHelp: false })} />
</header>
<section className='modal-card-body'>
<div className='content'
dangerouslySetInnerHTML={{__html: phondueUsage}} />
</div>
</section>
</div>
</div>
);
@ -63,11 +57,11 @@ export class IPAField extends Component {
<div className='modal is-active'>
<div className='modal-background'
onClick={() => this.setState({ doShowTable: false })} />
<div className='modal-card'><div className='modal-card-body'>
<IPATable
value={this.state.value}
update={newValue => this.setState({ value: newValue }, this.field.focus())} />
</div></div>
</div>
);
}
@ -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();

File diff suppressed because it is too large Load Diff

View File

@ -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": "ɧ",
"ʄ(": "ɟ",
"ʋ^": "ᶹ",
"ʋᶹ": "^",
"ʔ-": "ʡ",
"ʔ/": "ʕ",
"ʕ-": "ʢ",
"ʕ/": "ʔ",
"ʕ^": "ˤ",
"ʕˤ": "^",
"ʛ(": "ɢ",
"ʡ-": "ʔ",
"ʢ-": "ʕ",
"ː-": "ˑ",
"ˑ-": "ː",
"˔_": "̝",
"˔̝": "_",
"˕_": "̞",
"˕̞": "_",
"ˠɣ": "^",
"ˤʕ": "^",
"̘⊣": "_",
"̙⊢": "_",
"̝˔": "_",
"̞˕": "_",
"͜)": "‿",
"χ,": "ɣ",
"ᵑŋ": "^",
"ᶑ(": "ɖ",
"ᶑ)": "ɗ",
"ᶣɥ": "^",
"ᶹʋ": "^",
"‿)": "͜",
"⊢_": "̙",
"⊢̙": "_",
"⊣_": "̘",
"⊣̘": "_"
}

View File

@ -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

View File

@ -1,143 +0,0 @@
<!DOCTYPE html>
<html lang='en'>
<head>
<meta charset='utf-8'>
<meta name='viewport' content='width=device-width'>
<title>Phondue</title>
<script type='text/javascript' src='phondue.js'></script>
<link rel='stylesheet' type='text/css' href='phondue.css'></link>
</head>
<body>
<h1>Phondue</h1>
<p id='subtitle'>An IPA entry tool so good, it's delicious</p>
<p><strong><a href='https://github.com/KeyboardFire/phondue'>Desktop version</a></strong> | <strong>Hover over any symbol to view its digraphs</strong> (ex. <code>TH</code><code>θ</code>)</p>
<div id='phondue'></div>
<!--STARTUSAGE-->
<h2>Usage</h2>
<p>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 <strong>digraphs</strong>, since they are
made up of two letters, and they allow you to type any IPA symbol with only a
standard keyboard.</p>
<p>These symbols were decided to be intuitive as possible:</p>
<ul>
<li>
<p>Many symbols that look similar to letters of the English alphabet (such as
small caps) can be produced by doubling the capital letter:</p>
<pre><code> GG -&gt; ɢ ?? -&gt; ʔ NN -&gt; ɴ BB -&gt; ʙ RR -&gt; ʀ XX -&gt; χ
LL -&gt; ʟ II -&gt; ɪ YY -&gt; ʏ UU -&gt; ʊ EE -&gt; ɛ OO -&gt; ɞ
AA -&gt; ɑ '' -&gt; ˈ ,, -&gt; ˌ :: -&gt; ː
</code></pre>
</li>
<li>
<p>The slash is used to &quot;reflect,&quot; &quot;rotate,&quot; or otherwise flip around a given
symbol:</p>
<pre><code> ʀ/ -&gt; ʁ ʔ/ -&gt; ʕ ?/ -&gt; ʕ r/ -&gt; ɹ y/ -&gt; ʎ m/ -&gt; ɯ
o/ -&gt; ø e/ -&gt; ə ɛ/ -&gt; ɜ c/ -&gt; ɔ a/ -&gt; ɐ ɑ/ -&gt; ɒ
w/ -&gt; ʍ h/ -&gt; ɥ k/ -&gt; ʞ !/ -&gt; ¡ v/ -&gt; ʌ
</code></pre>
<p>Also note that for any digraph, if either of the two characters that
compose it are not &quot;standard&quot; 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///////).</p>
<p>This sometimes makes it easier to enter certain pairs; you may prefer to
use <code>AA</code> for <code>ɑ</code> and <code>AA/</code> for <code>ɒ</code> instead of the visual <code>o|</code> and <code>|o</code>.</p>
</li>
<li>
<p>Digraphs have also been designed for when a symbol looks like two overlayed
characters, or two characters next to each other. This includes &quot;hooked&quot;
letters (such as ŋ), produced with the original letter and a comma, and
&quot;stroked&quot; letters (such as ɟ), produced with the original letter and a dash:</p>
<pre><code> m, -&gt; ɱ n, -&gt; ŋ ŋ, -&gt; ɲ v, -&gt; ⱱ c, -&gt; ç j, -&gt; ʝ
x, -&gt; ɣ ɣ, -&gt; χ h, -&gt; ɦ w, -&gt; ɰ
j- -&gt; ɟ h- -&gt; ħ l- -&gt; ɬ i- -&gt; ɨ u- -&gt; ʉ e- -&gt; ɘ
o- -&gt; ɵ ʕ- -&gt; ʢ ?- -&gt; ʡ ʔ- -&gt; ʡ
LZ -&gt; ɮ OX -&gt; ɤ XO -&gt; ɤ OE -&gt; œ EB -&gt; ɞ AE -&gt; æ
CE -&gt; ɶ RL -&gt; ɺ LR -&gt; ɺ ɾl -&gt; ɺ lɾ -&gt; ɺ
w| -&gt; ɰ o/ -&gt; ø ɜ( -&gt; ɞ /\ -&gt; ʌ o| -&gt; ɑ a| -&gt; ɑ
|o -&gt; ɒ |a -&gt; ɒ
o. -&gt; ʘ |= -&gt; ǂ || -&gt; ‖ /^ -&gt; ↗ /&gt; -&gt; ↗ \v -&gt;
\&gt; -&gt;
</code></pre>
</li>
<li>
<p>Others are based on pronunciation:</p>
<pre><code> PH -&gt; ɸ BH -&gt; β TH -&gt; θ DH -&gt; ð SH -&gt; ʃ ZH -&gt; ʒ
SJ -&gt; ɕ ZJ -&gt; ʑ ʃx -&gt; ɧ xʃ -&gt; ɧ
</code></pre>
<p>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 <code>ʃx</code>), place a backslash between the two characters
(so, type <code>ʃ\x</code>).</p>
<p>In fact, [backslash][anything] is treated as a digraph that simply resolves
to the second character.</p>
</li>
<li>
<p>A few digraphs are based on shape:</p>
<pre><code> rO -&gt; ɾ r0 -&gt; ɾ vO -&gt; ʋ v0 -&gt; ʋ
</code></pre>
<p>Another related point: digraphs that contain a lowercase letter can also be
typed with that letter as uppercase. So, if <code>RO</code> is easier to type than
<code>rO</code>, that works as well.</p>
</li>
<li>
<p>Retroflex and nonpulmonic symbols have their own categories:</p>
<pre><code> retroflex: ) looks like the shape of the tongue
t) -&gt; ʈ d) -&gt; ɖ n) -&gt; ɳ r) -&gt; ɽ ɾ) -&gt; ɽ s) -&gt; ʂ
z) -&gt; ʐ ɹ) -&gt; ɻ l) -&gt; ɭ ɗ) -&gt;
clicks: clicking noise reminiscent of a *
o* -&gt; ʘ |* -&gt; ǀ !* -&gt; ǃ =* -&gt; ǁ
implosives and ejective marker: direction of airflow
b( -&gt; ɓ d( -&gt; ɗ j( -&gt; ʄ ɟ( -&gt; ʄ g( -&gt; ɠ ɢ( -&gt; ʛ
ɖ( -&gt; ᶑ ') -&gt; ʼ
</code></pre>
</li>
<li>
<p>Superscripts and diacritics that go above the letter use <code>^</code>, diacritics that
go below use <code>_</code>, and miscellaneous &quot;moved&quot; symbols use <code>&lt;</code> or <code>&gt;</code>:</p>
<pre><code> ^h -&gt; ʰ ^n -&gt; ⁿ ^m -&gt; ᵐ ^ŋ -&gt; ᵑ ^l -&gt; ˡ ^w -&gt; ʷ
^j -&gt; ʲ ^ɥ -&gt; ᶣ ^ʋ -&gt; ᶹ ^ɣ -&gt; ˠ ^ʕ -&gt; ˤ
_| -&gt; ◌̩ ^| -&gt; ◌̍ _o -&gt; ◌̥ ^o -&gt; ◌̊ _v -&gt; ◌̬ ^v -&gt; ◌̌
_^ -&gt; ◌̯ _: -&gt; ◌̤ _~ -&gt; ◌̰ _[ -&gt; ◌̪ _] -&gt; ◌̺ _{ -&gt; ◌̼
_+ -&gt; ◌̟ __ -&gt; ◌̠ _) -&gt; ◌̹ _( -&gt; ◌̜ _# -&gt; ◌̻ [] -&gt; ◌̻
^&gt; -&gt; ◌̚ ^: -&gt; ◌̈ ^x -&gt; ◌̽ ^~ -&gt; ◌̃
-' -&gt; ˔ _˔ -&gt; ◌̝ -, -&gt; ˕ _˕ -&gt; ◌̞ &lt;| -&gt; ⊣ _⊣ -&gt; ◌̘
&gt;| -&gt; ⊢ _⊢ -&gt; ◌̙
~~ -&gt; ◌̴ &gt;r -&gt; ˞
</code></pre>
<p>Note that all of these sequences can be flipped in order—that is, <code>^h</code>
produces the same thing as <code>h^</code>. This allows usage such as <code>|&lt;_</code> to produce
<code>⊣_</code> which becomes ◌̘.</p>
</li>
<li>
<p>Tonal countours use numbers plus <code>|</code>:</p>
<pre><code> 5| -&gt; ˥ 4| -&gt; ˦ 3| -&gt; ˧ 2| -&gt; ˨ 1| -&gt; ˩
+| -&gt; ꜛ -| -&gt;
</code></pre>
</li>
<li>
<p>Finally, some digraphs simply have unique mnemonics:</p>
<pre><code> ː- -&gt; ˑ &quot;chop off&quot; the bottom triangle
(( -&gt; ◌͡◌ two parens for a tie that connects 2 chars
)) -&gt; ◌͜◌
◌͜◌) -&gt; ‿ one more paren to make it a little bit longer
</code></pre>
</li>
</ul>
<!--ENDUSAGE-->
</body>
</html>

View File

@ -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%;
}

View File

@ -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();
});
})();

File diff suppressed because it is too large Load Diff

View File

@ -1,9 +1,7 @@
<h2>Usage</h2>
<p>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 <strong>digraphs</strong>, since they are
made up of two letters, and they allow you to type any IPA symbol with only a
standard keyboard.</p>
<p>The Pronunciation field in Lexiconga utilizes <a href='https://github.com/KeyboardFire/phondue' target='_blank'>KeyboardFire's
Phondue</a> web script to make typing IPA pronunciations much more convenient.
Phondue provides many two-key keyboard shortcuts called <strong>digraphs</strong>
that allow you to type any IPA symbol with only a standard keyboard.</p>
<p>These symbols were decided to be intuitive as possible:</p>
<ul>
<li>
@ -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///////).</p>
<p>This sometimes makes it easier to enter certain pairs; you may prefer to
use <code>AA</code> for <code>ɑ</code> and <code>AA/</code> for <code>ɒ</code> instead of the visual <code>o|</code> and <code>|o</code>.</p>
use <code>AA</code> for <code>ɑ</code> and <code>AA/</code> for <code>ɒ</code> instead of the
visual <code>o|</code> and <code>|o</code>.</p>
</li>
<li>
<p>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 <code>RO</code> is easier to type th
</li>
<li>
<p>Superscripts and diacritics that go above the letter use <code>^</code>, diacritics that
go below use <code>_</code>, and miscellaneous &quot;moved&quot; symbols use <code>&lt;</code> or <code>&gt;</code>:</p>
go below use <code>_</code>, and miscellaneous &quot;moved&quot; symbols
use <code>&lt;</code> or <code>&gt;</code>:</p>
<pre><code> ^h -&gt; ʰ ^n -&gt; ⁿ ^m -&gt; ᵐ ^ŋ -&gt; ᵑ ^l -&gt; ˡ ^w -&gt; ʷ
^j -&gt; ʲ ^ɥ -&gt; ᶣ ^ʋ -&gt; ᶹ ^ɣ -&gt; ˠ ^ʕ -&gt; ˤ