6d3b73c
Pinchord · pinchord.git · Tickets · Changelog
Branches > v28.1 > 6d3b73c > files / generate-dictionary.clj
update to v21.0
Commit: 6d3b73c81a7c45b47f69c79775fac2d81119f5b4
Parent: 627c6fa
9 changed files:
chords.edn view file
@@ -1,14 +1,14 @@-{:version "v20.0"+{:version "v21.0" :initials {"T" "t",- "TSP*" "sk"+ "TSP|" "sk" "TSPHR" "sv", "TP" "f",- "TP*" "ph",+ "TP|" "ph", "TSWR" "kr", "THR" "thr", "TPR" "fr", "PWR" "br",- "SH*" "sch",+ "SH|" "sch", "TSPR" "scr", "TSWH" "kn", "TWH" "thw",@@ -32,7 +32,7 @@ "SWR" "y", "TSPWH" "gh", "R" "r",- "TSPR*" "squ",+ "TSPR|" "squ", "TWR" "vr", "TSR" "str", "TWHR" "j",@@ -42,8 +42,10 @@ "TR" "tr", "P" "p", "WHR" "qu",- "WHR*" "q",+ "WHR|" "q", "TPHR" "fl",+ "TPHR|" "phl",+ "TPR|" "phr", "TH" "th", "WR" "wr", "SPWR" "cr",@@ -62,7 +64,8 @@ "TSPH" "sn", "TPH" "n", "TPW" "d",- "PW" "b"}+ "PW" "b"+ "" "{^}"} :vowels {"OU" "ou", "AU" "au",@@ -83,7 +86,6 @@ "A" "a", "I" "i", "I^" "y",- "AOIU" "", "OIU" "oe", "AOU^" "ie", "OI" "oi",@@ -91,6 +93,8 @@ "U^" "iu", "AI" "ai"} + :banks {:vowels "AOIU^"}+ :finals {"FS" "v" "FS*" "vv" "LFS" "lv"@@ -100,10 +104,10 @@ "LKFS" "lsh" "LRKFS" "nsh" "RKFS" "rsh"- "KFS*" "w"- "LKFS*" "wl"- "LRKFS*" "wn"- "RKFS*" "rw"+ "PST" "w"+ "LPST" "wl"+ "LRPST" "wn"+ "RPST" "rw" "L" "l" "LR" "rl" "R" "r"@@ -123,8 +127,8 @@ "LPKFS" "lg" "LRPKFS" "ng" "RPKFS" "rg"- "RPKFS*" "gh"- "RPKFST*" "ght"+ "KFS*" "gh"+ "KFST*" "ght" "FST" "tion" "LRFST" "ntion" "LFST" "ltion"@@ -175,6 +179,9 @@ "RKF" "rch" "K" "k" "K*" "ck"+ "LK*" "lck"+ "LRK*" "nck"+ "RK*" "rck"generate-dictionary.clj view file
@@ -3,7 +3,8 @@ "Javelin dictionary generation script" (:require [cheshire.core :as json] [clj-yaml.core :as yaml]- [clojure.edn :as edn]))+ [clojure.edn :as edn]+ [clojure.set :as set])) (def sections [:pre-prefixes :prefixes :initials :vowels :finals :suffixes]) @@ -23,19 +24,34 @@ (defn finalize "Puts dashes before all the keys of m" [m]- (update-keys m (partial str \-)))+ (update-keys m (partial str "-")))++(defn mask [s1 s2]+ (apply str (remove (set s1) s2)))+ ; Stroke looks like: AOI+ ; thingy looks like AOIU^+ ; I want U^ (let [chords (-> (edn/read-string (slurp "chords.edn")) (update :finals finalize) (update :suffix finalize))+ banks (:banks chords) dict {:name (str "Pinchord Base " (:version chords)) :maximumOutlineLength 1- :starters [{:stroke "" :definition "" :mask ""}]+ :starters [{:stroke "#+" :definition "{^}{-|}" :mask "#+"}+ {:stroke "" :definition "{}" :mask ""}] :letters (->> (reduce (fn [acc [layout entries]]- (into acc (mapv (fn [[stroke translation]] {:stroke stroke :data translation :order (priority layout)})- entries)))+ (if-let [bank-keys (banks layout)]+ (into acc (mapv (fn [[stroke translation]]+ {:stroke stroke :data translation :order (priority layout)+ :avoidMask (mask stroke bank-keys)})+ entries))+ (into acc (mapv (fn [[stroke translation]]+ {:stroke stroke :data translation :order (priority layout)})+ entries)))) #{} (select-keys chords sections))- (sort-by (comp - count :stroke)))}+ (sort-by (comp - count :stroke))+ (cons {:stroke "-" :data "{^}" :order (priority :finals)}))} dict-path (str "pinchord-javelin-dictionary-" (:version chords) ".yaml") json-chords-path (str "pinchord-chords-" (:version chords) ".json")] (spit dict-path (yaml/generate-string dict))pinchord-chords-v20.0.json view file
@@ -1 +0,0 @@-{"version":"v20.0","initials":{"T":"t","TSPHR":"sv","TP":"f","TSWR":"kr","THR":"thr","TPR":"fr","PWR":"br","TSPR":"scr","TSWH":"kn","TWH":"thw","PWHR":"bl","SPWHR":"cl","TS":"st","SPR":"spr","SWHR":"shr","HR":"l","WH":"wh","TW":"tw","S":"s","TSP*":"sk","SR":"v","TPWR":"dr","WHR*":"q","H":"h","PR":"pr","TSPWR":"gr","SHR":"sl","SW":"sw","SWH":"z","TSPWH":"gh","R":"r","TPWH":"x","TWR":"vr","TSR":"str","TWHR":"j","SH":"sh","PH":"m","TSP":"sc","TR":"tr","TSPR*":"squ","P":"p","TPHR":"fl","TH":"th","WR":"wr","SH*":"sch","SPWR":"cr","SPH":"sm","TSW":"k","SPHR":"spl","TSPWHR":"gl","SWR":"y","TSWHR":"kl","SPW":"c","PHR":"pl","SPWH":"ch","TSPW":"g","W":"w","SP":"sp","TSPH":"sn","TPH":"n","TP*":"ph","TPW":"d","WHR":"qu","PW":"b"},"vowels":{"OU":"ou","AU":"au","AOI":"ee","AU^":"ua","IU":"e","AOU^":"ie","IU^":"ui","AIU":"ea","AO^":"oa","U^":"iu","I^":"y","AOU":"ei","OI^":"io","U":"u","AI^":"ia","O":"o","AO":"oo","A":"a","AIU^":"ae","I":"i","AOIU":"","OIU^":"eo","OIU":"oe","AOI^":"ue","OI":"oi","AI":"ai"},"finals":{"-LPFT*":"nly","-LRF*":"fn","-PFS":"z","-RPFT":"ry","-RPKFST":"rcy","-PKF*":"dd","-PKST":"ct","-LT*":"ttl","-LK":"lk","-KFS*":"w","-LKS*":"lsk","-LRPKF":"nd","-LKST":"lxt","-RT*":"rty","-FT":"ft","-PF":"n","-PKF":"d","-KFS":"sh","-K":"k","-LRKST":"nxt","-RPKFT*":"rcky","-RKS*":"rsk","-P*":"pp","-LPS":"lm","-R*":"rr","-RP":"rp","-LRPKFT*":"ncky","-LPF":"ln","-LRPKFS":"ng","-RPKS":"rc","-LRPF":"nn","-RPT":"rpt","-LPFT":"ly","-RPS":"rm","-RPK":"rb","-LRKST*":"nj","-LRKS":"nx","-RF":"rf","-LRPKS":"nc","-LRPFT*":"nny","-F":"f","-LST":"lst","-PKFST":"cy","-LRFST*":"nsion","-RPKFS*":"gh","-PKFS":"g","-RPKS*":"rsc","-LRT":"nt","-RFST":"rtion","-KFST":"ction","-LRK":"nk","-LKS":"lx","-LRPKST":"nct","-PKFT*":"cky","-RPKFS":"rg","-RKF":"rch","-LPKS*":"lsc","-LKF":"lch","-PFT":"y","-KS":"x","-LRPT":"npt","-RPFS":"rz","-LPKFT*":"lcky","-LPK*":"bl","-S":"s","-P":"p","-LRPK":"mb","-RKFS*":"rw","-LKST*":"lj","-LRPKFT":"nky","-RK":"rk","-LRST*":"nth","-LRST":"nst","-PFS*":"zz","-LKFS":"lsh","-RPF":"rn","-PS*":"sp","-RKST":"rxt","-LPKF*":"ddl","-LF":"lf","-K*":"ck","-ST*":"th","-RPFT*":"rly","-LRPFT":"ny","-LPKF":"ld","-RKFS":"rsh","-RKST*":"rj","-F*":"ff","-KT":"kt","-PK*":"w","-FST":"tion","-LRPFS":"nz","-LRF":"nf","-L*":"ll","-RST":"rst","-PT":"pt","-LPKFST":"lcy","-LRPKS*":"nsc","-S*":"ss","-T":"t","-PS":"m","-KFT":"tch","-LS":"ls","-LPKS":"lc","-LRKFST":"nction","-LRKS*":"nsk","-RPKF":"rd","-PKFT":"ky","-FST*":"sian","-LST*":"lth","-LRKT":"nkt","-RKT":"rkt","-LRFST":"ntion","-LPKFS":"lg","-LKT":"lkt","-LRFS":"nv","-RPKST":"rct","-RPKFT":"rky","-LFST*":"sion","-LP":"lp","-LRKF":"nch","-LRP":"mp","-LFST":"ltion","-LRPKFST":"ncy","-T*":"tt","-LT":"lt","-LRS":"ns","-RFS":"rv","-ST":"st","-R":"r","-RPKF*":"dg","-LPKFT":"lky","-RKS":"rx","-PT*":"h","-LRPS":"mn","-LRPK*":"bbl","-LRKFS":"nsh","-RPKFST*":"ght","-LKFS*":"wl","-LPT":"lpt","-FS*":"vv","-RFST*":"stian","-LRKFS*":"wn","-KST":"xt","-KT*":"ct","-FS":"v","-LFS":"lv","-RKFST":"rction","-LPKST":"lct","-PFT*":"yy","-PKS*":"sc","-KF":"ch","-KST*":"j","-LPK":"lb","-LRPKF*":"rld","-PKS":"c","-RS":"rs","-PK":"b","-LPFS":"lz","-LR":"rl","-KS*":"sk","-L":"l","-RT":"rt","-PKFS*":"gg","-RST*":"rth","-KF*":"tch","-LKFST":"lction"},"pre-prefixes":{"+":"{^}","_":"{^}_","_+":"{^}_"},"prefixes":{"#":"{-|}"},"suffixes":{"E":"e"},"suffix":{}}\ No newline at end of filepinchord-chords-v21.0.json view file
@@ -0,0 +1 @@+{"initials":{"":"{^}","T":"t","TSPHR":"sv","SH|":"sch","TP":"f","TSWR":"kr","THR":"thr","TPR":"fr","PWR":"br","TSPR":"scr","TSWH":"kn","WHR|":"q","TWH":"thw","PWHR":"bl","TSPR|":"squ","SPWHR":"cl","TS":"st","SPR":"spr","SWHR":"shr","HR":"l","WH":"wh","TW":"tw","S":"s","SR":"v","TPWR":"dr","H":"h","PR":"pr","TSPWR":"gr","SHR":"sl","TPR|":"phr","SW":"sw","SWH":"z","TSPWH":"gh","R":"r","TPWH":"x","TWR":"vr","TSR":"str","TWHR":"j","SH":"sh","PH":"m","TSP":"sc","TR":"tr","P":"p","TPHR":"fl","TP|":"ph","TH":"th","WR":"wr","SPWR":"cr","TPHR|":"phl","SPH":"sm","TSW":"k","SPHR":"spl","TSPWHR":"gl","SWR":"y","TSWHR":"kl","SPW":"c","PHR":"pl","SPWH":"ch","TSPW":"g","W":"w","TSP|":"sk","SP":"sp","TSPH":"sn","TPH":"n","TPW":"d","WHR":"qu","PW":"b"},"suffix":{},"prefixes":{"#":"{-|}"},"suffixes":{"E":"e"},"banks":{"vowels":"AOIU^"},"vowels":{"OU":"ou","AU":"au","AOI":"ee","AU^":"ua","IU":"e","AOU^":"ie","IU^":"ui","AIU":"ea","AO^":"oa","U^":"iu","I^":"y","AOU":"ei","OI^":"io","U":"u","AI^":"ia","O":"o","AO":"oo","A":"a","AIU^":"ae","I":"i","OIU^":"eo","OIU":"oe","AOI^":"ue","OI":"oi","AI":"ai"},"finals":{"-LPFT*":"nly","-LRF*":"fn","-PFS":"z","-RPFT":"ry","-RPKFST":"rcy","-PKF*":"dd","-PKST":"ct","-LT*":"ttl","-LFT":"lft","-LK":"lk","-KFS*":"gh","-LKS*":"lsk","-LRPKF":"nd","-LKST":"lxt","-RT*":"rty","-FT":"ft","-PF":"n","-LPST":"wl","-PKF":"d","-KFS":"sh","-K":"k","-LRKST":"nxt","-RPKFT*":"rcky","-RKS*":"rsk","-P*":"pp","-LPS":"lm","-R*":"rr","-RP":"rp","-LRPKFT*":"ncky","-LPF":"ln","-LRPKFS":"ng","-RPKS":"rc","-LRPF":"nn","-RPT":"rpt","-LPFT":"ly","-RPS":"rm","-RPK":"rb","-LRKST*":"nj","-LRKS":"nx","-RF":"rf","-LRPKS":"nc","-LRPFT*":"nny","-F":"f","-LST":"lst","-PKFST":"cy","-LRFST*":"nsion","-RK*":"rck","-PKFS":"g","-RPKS*":"rsc","-LRT":"nt","-RFST":"rtion","-KFST":"ction","-LRK":"nk","-LKS":"lx","-LRPKST":"nct","-PKFT*":"cky","-LRK*":"nck","-LK*":"lck","-RPKFS":"rg","-RKF":"rch","-LPKS*":"lsc","-LKF":"lch","-PFT":"y","-KS":"x","-LRPT":"npt","-RPFS":"rz","-LPKFT*":"lcky","-LPK*":"bl","-S":"s","-P":"p","-LRPK":"mb","-LKST*":"lj","-LRPKFT":"nky","-RK":"rk","-LRST*":"nth","-LRST":"nst","-PFS*":"zz","-LKFS":"lsh","-RPF":"rn","-PS*":"sp","-RKST":"rxt","-LRKFT":"ntch","-LPKF*":"ddl","-LF":"lf","-K*":"ck","-ST*":"th","-RPFT*":"rly","-LRPFT":"ny","-LPKF":"ld","-RKFS":"rsh","-RKST*":"rj","-F*":"ff","-KT":"kt","-PK*":"w","-FST":"tion","-LRPFS":"nz","-LRF":"nf","-L*":"ll","-RST":"rst","-PT":"pt","-LPKFST":"lcy","-LRPKS*":"nsc","-S*":"ss","-T":"t","-PS":"m","-KFT":"tch","-LS":"ls","-LPKS":"lc","-LRKFST":"nction","-LRKS*":"nsk","-RPKF":"rd","-PKFT":"ky","-FST*":"sian","-LST*":"lth","-LRKT":"nkt","-LRFT":"nft","-RKT":"rkt","-LRFST":"ntion","-LPKFS":"lg","-RPST":"rw","-LKT":"lkt","-LRFS":"nv","-RPKST":"rct","-RPKFT":"rky","-PST":"w","-LFST*":"sion","-LP":"lp","-LRKF":"nch","-LRP":"mp","-LFST":"ltion","-LRPKFST":"ncy","-T*":"tt","-LKFT":"ltch","-LT":"lt","-LRS":"ns","-RFS":"rv","-ST":"st","-LRPST":"wn","-KFST*":"ght","-R":"r","-RPKF*":"dg","-LPKFT":"lky","-RKS":"rx","-RKFT":"rtch","-PT*":"h","-LRPS":"mn","-LRPK*":"bbl","-LRKFS":"nsh","-LPT":"lpt","-FS*":"vv","-RFST*":"stian","-KST":"xt","-KT*":"ct","-FS":"v","-LFS":"lv","-RKFST":"rction","-LPKST":"lct","-PFT*":"yy","-PKS*":"sc","-KF":"ch","-KST*":"j","-LPK":"lb","-LRPKF*":"rld","-PKS":"c","-RS":"rs","-PK":"b","-LPFS":"lz","-RFT":"rft","-LR":"rl","-KS*":"sk","-L":"l","-RT":"rt","-PKFS*":"gg","-RST*":"rth","-KF*":"tch","-LKFST":"lction"},"pre-prefixes":{"+":"{^}","_":"{^}_","_+":"{^}_"},"version":"v21.0"}\ No newline at end of filepinchord-javelin-dictionary-v21.0.yaml pinchord-javelin-dictionary-v20.0.yaml view file
@@ -1,17 +1,17 @@-name: Pinchord Base v20.0+name: Pinchord Base v21.0 maximumOutlineLength: 1 starters:-- {stroke: '', definition: '', mask: ''}+- {stroke: '#+', definition: '{^}{-|}', mask: '#+'}+- {stroke: '', definition: '{}', mask: ''} letters:+- {stroke: '-', data: '{^}', order: 5} - {stroke: -LRPKFST, data: ncy, order: 5}-- {stroke: -RPKFST*, data: ght, order: 5} - {stroke: -LRPKFT*, data: ncky, order: 5} - {stroke: -LRPKF*, data: rld, order: 5} - {stroke: -RPKFST, data: rcy, order: 5} - {stroke: -LRKFST, data: nction, order: 5} - {stroke: -RPKFT*, data: rcky, order: 5} - {stroke: -LRPKFT, data: nky, order: 5}-- {stroke: -LRKFS*, data: wn, order: 5} - {stroke: -LRPKST, data: nct, order: 5} - {stroke: -LPKFT*, data: lcky, order: 5} - {stroke: -LRKST*, data: nj, order: 5}@@ -20,13 +20,12 @@ - {stroke: -LRPKFS, data: ng, order: 5} - {stroke: -LRPKS*, data: nsc, order: 5} - {stroke: -LRFST*, data: nsion, order: 5}-- {stroke: -RPKFS*, data: gh, order: 5} - {stroke: -RFST*, data: stian, order: 5} - {stroke: -LRKFS, data: nsh, order: 5} - {stroke: -LPKS*, data: lsc, order: 5} - {stroke: -LPKF*, data: ddl, order: 5}+- {stroke: -LRKFT, data: ntch, order: 5} - {stroke: -RKFST, data: rction, order: 5}-- {stroke: -LKFS*, data: wl, order: 5} - {stroke: -LRKST, data: nxt, order: 5} - {stroke: -LRKS*, data: nsk, order: 5} - {stroke: -LFST*, data: sion, order: 5}@@ -38,12 +37,14 @@ - {stroke: -RPKF*, data: dg, order: 5} - {stroke: -PKFST, data: cy, order: 5} - {stroke: -LRPFT, data: ny, order: 5}+- {stroke: -KFST*, data: ght, order: 5} - {stroke: -RPKFS, data: rg, order: 5} - {stroke: -LRPK*, data: bbl, order: 5} - {stroke: -LRPKS, data: nc, order: 5} - {stroke: -RPKST, data: rct, order: 5} - {stroke: -LRPFS, data: nz, order: 5} - {stroke: -PKFS*, data: gg, order: 5}+- {stroke: -LRPST, data: wn, order: 5} - {stroke: -RPKFT, data: rky, order: 5} - {stroke: -PKFT*, data: cky, order: 5} - {stroke: -LPKFT, data: lky, order: 5}@@ -52,14 +53,14 @@ - {stroke: -LKFST, data: lction, order: 5} - {stroke: -LPFT*, data: nly, order: 5} - {stroke: -LRPKF, data: nd, order: 5}-- {stroke: -RKFS*, data: rw, order: 5} - {stroke: -LRST*, data: nth, order: 5} - {stroke: -LRFST, data: ntion, order: 5} - {stroke: -LRPS, data: mn, order: 5} - {stroke: -LRF*, data: fn, order: 5} - {stroke: -PKF*, data: dd, order: 5} - {stroke: -LRFS, data: nv, order: 5}-- {stroke: -KFS*, data: w, order: 5}+- {stroke: -RKFT, data: rtch, order: 5}+- {stroke: -RPST, data: rw, order: 5} - {stroke: -PKST, data: ct, order: 5} - {stroke: -KST*, data: j, order: 5} - {stroke: -LKST, data: lxt, order: 5}@@ -77,14 +78,19 @@ - {stroke: SPWHR, data: cl, order: 3} - {stroke: -LRPT, data: npt, order: 5} - {stroke: -FST*, data: sian, order: 5}+- {stroke: -LRK*, data: nck, order: 5} - {stroke: -RPKF, data: rd, order: 5}+- {stroke: -LPST, data: wl, order: 5} - {stroke: -PFT*, data: yy, order: 5} - {stroke: -RKS*, data: rsk, order: 5}+- {stroke: -LRFT, data: nft, order: 5} - {stroke: TSPWH, data: gh, order: 3} - {stroke: -PKFT, data: ky, order: 5} - {stroke: -RPFT, data: ry, order: 5} - {stroke: -LRKS, data: nx, order: 5}+- {stroke: -KFS*, data: gh, order: 5} - {stroke: -LKS*, data: lsk, order: 5}+- {stroke: TSPR|, data: squ, order: 3} - {stroke: -KFST, data: ction, order: 5} - {stroke: -LRST, data: nst, order: 5} - {stroke: TSWHR, data: kl, order: 3}@@ -93,51 +99,57 @@ - {stroke: -RKST, data: rxt, order: 5} - {stroke: -PKS*, data: sc, order: 5} - {stroke: -LST*, data: lth, order: 5}+- {stroke: -LKFT, data: ltch, order: 5} - {stroke: -LRKT, data: nkt, order: 5} - {stroke: TSPHR, data: sv, order: 3}+- {stroke: TPHR|, data: phl, order: 3} - {stroke: -LPK*, data: bl, order: 5} - {stroke: -LRPF, data: nn, order: 5}-- {stroke: TSPR*, data: squ, order: 3}pinchord-javelin-system-v21.0.yaml pinchord-javelin-system-v20.0.yaml view file
@@ -2,9 +2,9 @@ ## Eventually I think I could make this work with the normal extended stenotype layout? ## Requiring only the # S thing and to make ^+ maybe? keys:- - name: "#"- mask: 0x01 - name: "_"+ mask: 0x01+ - name: "#" mask: 0x02 - name: "+" mask: 0x04@@ -20,7 +20,7 @@ mask: 0x80 - name: "R" mask: 0x100- - name: "*"+ - name: "|" mask: 0x200 - name: "A"pinchord-punctuation-dictionary-v20.0.json view file
@@ -1,13 +0,0 @@-{- "-P": "{^}.",- "-K": "{^},",- "-FS": "{^}!",- "-LPK": "{^}?",- "-LPF": "{#Escape}",- "-RKS": "{^}...",- "-PK": "{^}\\n",- "+": "{^ ^}{}",- "-PKFS": "\\t",- "-LRPK": "{#Shift(tab)}",- "-RK": "{#Backspace}"-}pinchord-punctuation-dictionary-v21.0.json view file
@@ -0,0 +1,3 @@+{+ "+": "{^ ^}{}"+}pinchord-starboard-layout-v21.0.javelin-layout pinchord-starboard-layout-v20.0.javelin-layout view file