├── LICENSE ├── README.md ├── android_keyboard.zip ├── fairfaxhd.png ├── ibus.png ├── insapisupalape.png ├── linjananpa.png ├── sitelen-pona-input.ahk ├── sitelen-pona.inputplugin └── tokipona.txt /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Legal Code 2 | 3 | CC0 1.0 Universal 4 | 5 | CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE 6 | LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN 7 | ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS 8 | INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES 9 | REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS 10 | PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM 11 | THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED 12 | HEREUNDER. 13 | 14 | Statement of Purpose 15 | 16 | The laws of most jurisdictions throughout the world automatically confer 17 | exclusive Copyright and Related Rights (defined below) upon the creator 18 | and subsequent owner(s) (each and all, an "owner") of an original work of 19 | authorship and/or a database (each, a "Work"). 20 | 21 | Certain owners wish to permanently relinquish those rights to a Work for 22 | the purpose of contributing to a commons of creative, cultural and 23 | scientific works ("Commons") that the public can reliably and without fear 24 | of later claims of infringement build upon, modify, incorporate in other 25 | works, reuse and redistribute as freely as possible in any form whatsoever 26 | and for any purposes, including without limitation commercial purposes. 27 | These owners may contribute to the Commons to promote the ideal of a free 28 | culture and the further production of creative, cultural and scientific 29 | works, or to gain reputation or greater distribution for their Work in 30 | part through the use and efforts of others. 31 | 32 | For these and/or other purposes and motivations, and without any 33 | expectation of additional consideration or compensation, the person 34 | associating CC0 with a Work (the "Affirmer"), to the extent that he or she 35 | is an owner of Copyright and Related Rights in the Work, voluntarily 36 | elects to apply CC0 to the Work and publicly distribute the Work under its 37 | terms, with knowledge of his or her Copyright and Related Rights in the 38 | Work and the meaning and intended legal effect of CC0 on those rights. 39 | 40 | 1. Copyright and Related Rights. A Work made available under CC0 may be 41 | protected by copyright and related or neighboring rights ("Copyright and 42 | Related Rights"). Copyright and Related Rights include, but are not 43 | limited to, the following: 44 | 45 | i. the right to reproduce, adapt, distribute, perform, display, 46 | communicate, and translate a Work; 47 | ii. moral rights retained by the original author(s) and/or performer(s); 48 | iii. publicity and privacy rights pertaining to a person's image or 49 | likeness depicted in a Work; 50 | iv. rights protecting against unfair competition in regards to a Work, 51 | subject to the limitations in paragraph 4(a), below; 52 | v. rights protecting the extraction, dissemination, use and reuse of data 53 | in a Work; 54 | vi. database rights (such as those arising under Directive 96/9/EC of the 55 | European Parliament and of the Council of 11 March 1996 on the legal 56 | protection of databases, and under any national implementation 57 | thereof, including any amended or successor version of such 58 | directive); and 59 | vii. other similar, equivalent or corresponding rights throughout the 60 | world based on applicable law or treaty, and any national 61 | implementations thereof. 62 | 63 | 2. Waiver. To the greatest extent permitted by, but not in contravention 64 | of, applicable law, Affirmer hereby overtly, fully, permanently, 65 | irrevocably and unconditionally waives, abandons, and surrenders all of 66 | Affirmer's Copyright and Related Rights and associated claims and causes 67 | of action, whether now known or unknown (including existing as well as 68 | future claims and causes of action), in the Work (i) in all territories 69 | worldwide, (ii) for the maximum duration provided by applicable law or 70 | treaty (including future time extensions), (iii) in any current or future 71 | medium and for any number of copies, and (iv) for any purpose whatsoever, 72 | including without limitation commercial, advertising or promotional 73 | purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each 74 | member of the public at large and to the detriment of Affirmer's heirs and 75 | successors, fully intending that such Waiver shall not be subject to 76 | revocation, rescission, cancellation, termination, or any other legal or 77 | equitable action to disrupt the quiet enjoyment of the Work by the public 78 | as contemplated by Affirmer's express Statement of Purpose. 79 | 80 | 3. Public License Fallback. Should any part of the Waiver for any reason 81 | be judged legally invalid or ineffective under applicable law, then the 82 | Waiver shall be preserved to the maximum extent permitted taking into 83 | account Affirmer's express Statement of Purpose. In addition, to the 84 | extent the Waiver is so judged Affirmer hereby grants to each affected 85 | person a royalty-free, non transferable, non sublicensable, non exclusive, 86 | irrevocable and unconditional license to exercise Affirmer's Copyright and 87 | Related Rights in the Work (i) in all territories worldwide, (ii) for the 88 | maximum duration provided by applicable law or treaty (including future 89 | time extensions), (iii) in any current or future medium and for any number 90 | of copies, and (iv) for any purpose whatsoever, including without 91 | limitation commercial, advertising or promotional purposes (the 92 | "License"). The License shall be deemed effective as of the date CC0 was 93 | applied by Affirmer to the Work. Should any part of the License for any 94 | reason be judged legally invalid or ineffective under applicable law, such 95 | partial invalidity or ineffectiveness shall not invalidate the remainder 96 | of the License, and in such case Affirmer hereby affirms that he or she 97 | will not (i) exercise any of his or her remaining Copyright and Related 98 | Rights in the Work or (ii) assert any associated claims and causes of 99 | action with respect to the Work, in either case contrary to Affirmer's 100 | express Statement of Purpose. 101 | 102 | 4. Limitations and Disclaimers. 103 | 104 | a. No trademark or patent rights held by Affirmer are waived, abandoned, 105 | surrendered, licensed or otherwise affected by this document. 106 | b. Affirmer offers the Work as-is and makes no representations or 107 | warranties of any kind concerning the Work, express, implied, 108 | statutory or otherwise, including without limitation warranties of 109 | title, merchantability, fitness for a particular purpose, non 110 | infringement, or the absence of latent or other defects, accuracy, or 111 | the present or absence of errors, whether or not discoverable, all to 112 | the greatest extent permissible under applicable law. 113 | c. Affirmer disclaims responsibility for clearing rights of other persons 114 | that may apply to the Work or any use thereof, including without 115 | limitation any person's Copyright and Related Rights in the Work. 116 | Further, Affirmer disclaims responsibility for obtaining any necessary 117 | consents, permissions or other rights required for any use of the 118 | Work. 119 | d. Affirmer understands and acknowledges that Creative Commons is not a 120 | party to this document and has no duty or obligation with respect to 121 | this CC0 or use of the Work. 122 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # **Archived** 2 | 3 | This guide is severly out of date, if you are looking for information on how to set up UCSUR on your device [this guide](https://github.com/neroist/sitelen-pona-ucsur-guide/blob/main/README.md) is your best bet. If you are looking to improve the information available, please contribute to the [sona pona](https://sona.pona.la/wiki/Under-ConScript_Unicode_Registry) page. 4 | 5 | --- 6 | 7 | # sitelen pona UCSUR guide!!! 8 | o sitelen e sitelen pona lon ilo mute a! 9 | 10 | ## Render sitelen pona on most desktop applications! 11 | Due to the standardization of codepoints in the UCSUR, you can now render sitelen pona on many desktop applications (Firefox, Discord, etc). In many applications all you need to do is install a UCSUR compatible sitelen pona font, and you are good to go. However there are some quirks, and you need an input engine to be able to easily input these characters, which is the purpose of this guide. 12 | 13 | # Fonts 14 | 15 | The current recomended fonts for sitelen pona are: 16 | 17 | - [Fairfax HD](https://www.kreativekorp.com/software/fonts/fairfaxhd.shtml) 18 | 19 | ![an image preview of fairfax hd](fairfaxhd.png) 20 | 21 | This font supports the 2022-05-20 version of UCSUR. It looks a bit nasa, however it is mostly readable. 22 | - [nasin nanpa](https://github.com/ETBCOR/linja-nanpa) 23 | 24 | ![an image preview of linja nanpa](linjananpa.png) 25 | 26 | This is an alternative font, actively being developed by jan Itan (@etbcor#6146). It is monospace, and supports cartouches, combination glyphs, and long glyphs (pi, tawa & lon). This font supports the 27 | 2022-05-20 version of UCSUR. 28 | - [insa pi supa lape](http://devurandom.xyz/tokipona/supalape.html) 29 | 30 | ![an image preview of insa pi supa lape](insapisupalape.png) 31 | 32 | This font by /dev/urandom/ supports an outdated version of UCSUR (2022-01-31). 33 | 34 | If you are unsure of which font to pick, I would recomend linja nanpa. 35 | 36 | Once you have installed any of these fonts you are done, in many applications sitelen pona should render correctly, with the exception of websites, as they do not fall back to sitelen pona. This is an issue, because some applications are actually websites, with a notable example being Discord. 37 | 38 | ## Discord 39 | 40 | Because internally the Discord application relies on electron, it does not fall back to the font you installed when sitelen pona glyphs are present, instead displaying these frustrating little squares. To fix this, sadly the only option is to modify your Discord. Currently, this modification is possible on all Desktop systems, and on Android. 41 | 42 | ### Desktop 43 | 44 | To patch your Discord to correctly render sitelen pona on desktop, we will use the [Powercord client modification](https://powercord.dev/). Start by following the installation guide on their website to install it. After installing Powercord we need to add a CSS snippet, this is a small snippet of code that tells Powercord to use Fairfax HD or linja nanpa when sitelen pona is present. 45 | 46 | First go to "User Settings" in Discord, then scroll down to "Themes" and click the "Quick CSS" tab. 47 | 48 | Paste this snippet of code into the text box. (No need to worry about security! CSS can only change visual aspects of Discord, not steal your login token or act on your behalf) 49 | ```CSS 50 | :root { 51 | --font-primary: Whitney,"Helvetica Neue",Helvetica,Arial,sans-serif,"linja-nanpa","Fairfax HD","insa pi supa lape"; 52 | --font-display: Ginto,"Helvetica Neue",Helvetica,Arial,sans-serif,"linja-nanpa","Fairfax HD","insa pi supa lape"; 53 | --font-code: Consolas,"Andale Mono WT","Andale Mono","Lucida Console","Lucida Sans Typewriter","DejaVu Sans Mono","Bitstream Vera Sans Mono","Liberation Mono","Nimbus Mono L",Monaco,"Courier New",Courier,monospace,"linja-nanpa","Fairfax HD","insa pi supa lape"; 54 | --font-headline: Ginto Nord,Ginto,"Helvetica Neue",Helvetica,Arial,sans-serif,"linja-nanpa","Fairfax HD","insa pi supa lape"; 55 | } 56 | ``` 57 | 58 | Once you have pasted this code into the Quick CSS box, you can now exit settings, your Discord should be properly set up to render sitelen pona! 59 | 60 | ### Android 61 | 62 | I do not own an Android phone, so I cannot give an accurate guide on this section (maybe somebody fill this in with a pull request), however kulupu Mimuki (rats#0976) has put together an [excellent video guide](https://cdn.discordapp.com/attachments/882652782509846548/943688987070062612/YouCut_20220217_121644150.mp4) for achieving this with [Aliucord](https://github.com/Aliucord/Aliucord). 63 | 64 | ### Browser 65 | 66 | If you use a web browser, you can use the [stylus extension](https://github.com/openstyles/stylus#releases) to add the css code above. Simply click on the extension with a discord tab open, and use the "write a style for:" menu. Be sure to no accidentally write it for "this url", as that will make it not work outside of the channel you were looking at. 67 | 68 | ## Input 69 | 70 | Now that sitelen pona is rendering properly, we need to be able to type it! 71 | 72 | ### Windows 73 | If you use windows, there is an [Auto Hotkey Script](https://github.com/ETBCOR/nasin-nanpa/releases/download/n2.5.1/sitelen-pona-3.0.ahk) (download with ctrl+s) by jan Itan (@etbcor#6146) for input. Write the toki pona word and then a \` (the letter under escape) to convert it into sitelen pona. You can also write '\[\`' and '\]\`' for cartouches, as well as '\(\`' and '\)\`' for long glyphs. There is also a ["small" version of the script](https://github.com/ETBCOR/nasin-nanpa/releases/download/n2.5.1/stl-pon-3.0.ahk) that uses 3 letter codes for each word instead of typing the whole word. For any of this to work, you need to have [Auto Hotkey](https://www.autohotkey.com/) installed. 74 | Other features of the script are explained near the bottom of [nasin-nanpa's releases page](https://github.com/ETBCOR/nasin-nanpa/releases/tag/n2.5.1). 75 | 76 | ### macOS 77 | 78 | jan Tepo (tbodt#7244) has made an [input plugin for macOS](https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/main/sitelen-pona.inputplugin) with modifications by jan Semu (rhythm heaven monkey#9052) to support the 2022-05-20 version of UCSUR (download with ctrl+s). Install it by double clicking. Then enable it in System Preferences > Keyboard > Input Sources. You'll find it listed under "Chinese, Simplified" for some reason. 79 | 80 | ### Linux 81 | 82 | The only current supported input engine for Linux is ibus, for this to work, you need both ibus, and ibus-tables installed. 83 | 84 | jan Komi (cominixo#5443) has created an [ibus input table](https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/main/tokipona.txt) (download with ctrl+s). Copy it to a directory of your choice, and then open a command line in the same directory. Run these commands to install it. 85 | 86 | ![an image of the ibus input engine in action](ibus.png) 87 | 88 | ```bash 89 | sudo ibus-table-createdb -n /usr/share/ibus-table/tables/tokipona.db -s tokipona.txt 90 | ibus-daemon -drxR 91 | ``` 92 | 93 | Once you have done this, open the ibus preferences, go to Input Method, click ADD and then select sitelen pona (the last option under the English category). Cartouches are typed with '\[', '\_', and '\]'. Long pi is started with 'pi_' and extended with '. 94 | 95 | ### Android 96 | 97 | Two input engines for android exist: 98 | - [jan Komi's (cominixo#5443)](https://github.com/cominixo/tokiponakeyboard/releases/tag/v0.1-sp) 99 | - and [kulupu Mimuki's (rats#0976)](./android_keyboard.zip) which can be used with [this app](https://play.google.com/store/apps/details?id=de.humbergsoftware.keyboarddesigner), but it requires a paid addon to import the file. 100 | 101 | ### Web 102 | 103 | If you are on a device which cannot use these input methods for any reason, [jan Tala (@at#0754)](https://github.com/DataKinds) has created a [web based converter](https://ilo-pi-sitelen-pona.glitch.me/) from sitelen Lasina to sitelen pona. 104 | 105 | # End 106 | 107 | This is a really huge step for toki pona, and I am extremely happy to see this happen. If you have created a font, input method, or any other resource that you want added, please create a pull request, issue, or just ping me on discord @8o7wer#4073 (jan Lili lon ma pona pi toki pona) and we can talk! 108 | -------------------------------------------------------------------------------- /android_keyboard.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/android_keyboard.zip -------------------------------------------------------------------------------- /fairfaxhd.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/fairfaxhd.png -------------------------------------------------------------------------------- /ibus.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/ibus.png -------------------------------------------------------------------------------- /insapisupalape.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/insapisupalape.png -------------------------------------------------------------------------------- /linjananpa.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/linjananpa.png -------------------------------------------------------------------------------- /sitelen-pona-input.ahk: -------------------------------------------------------------------------------- 1 | ; ahk script from nasin-nanpa 2 | 3 | #EscapeChar \ 4 | 5 | :*?:kijetesantakalu`::{U+F1980} ; 󱦀 6 | :*?:misikeke`::{U+F1987} ; 󱦇 7 | :*?:kokosila`::{U+F1984} ; 󱦄 8 | :*?:kepeken`::{U+F1919} ; 󱤙 9 | :*?:sitelen`::{U+F1960} ; 󱥠 10 | :*?:monsuta`::{U+F197D} ; 󱥽 11 | :*?:lanpan`::{U+F1985} ; 󱦅 12 | :*?:kalama`::{U+F1915} ; 󱤕 13 | :*?:kulupu`::{U+F191F} ; 󱤟 14 | :*?:pakala`::{U+F1948} ; 󱥈 15 | :*?:palisa`::{U+F194A} ; 󱥊 16 | :*?:pimeja`::{U+F194F} ; 󱥏 17 | :*?:sijelo`::{U+F195B} ; 󱥛 18 | :*?:sinpin`::{U+F195F} ; 󱥟 19 | :*?:soweli`::{U+F1962} ; 󱥢 20 | :*?:namako`::{U+F1978} ; 󱥸 21 | :*?:kipisi`::{U+F197B} ; 󱥻 22 | :*?:jasima`::{U+F197F} ; 󱥿 23 | :*?:akesi`::{U+F1901} ; 󱤁 24 | :*?:kiwen`::{U+F191B} ; 󱤛 25 | :*?:linja`::{U+F1929} ; 󱤩 26 | :*?:lukin`::{U+F192E} ; 󱤮 27 | :*?:monsi`::{U+F1938} ; 󱤸 28 | :*?:nanpa`::{U+F193D} ; 󱤽 29 | :*?:nasin`::{U+F193F} ; 󱤿 30 | :*?:pilin`::{U+F194E} ; 󱥎 31 | :*?:tenpo`::{U+F196B} ; 󱥫 32 | :*?:utala`::{U+F1971} ; 󱥱 33 | :*?:tonsi`::{U+F197E} ; 󱥾 34 | :*?:epiku`::{U+F1983} ; 󱦃 35 | :*?:alasa`::{U+F1903} ; 󱤃 36 | :*?:insa`::{U+F190F} ; 󱤏 37 | :*?:jaki`::{U+F1910} ; 󱤐 38 | :*?:jelo`::{U+F1912} ; 󱤒 39 | :*?:kala`::{U+F1914} ; 󱤔 40 | :*?:kama`::{U+F1916} ; 󱤕 41 | :*?:kasi`::{U+F1917} ; 󱤗 42 | :*?:kili`::{U+F191A} ; 󱤚 43 | :*?:kule`::{U+F191E} ; 󱤞 44 | :*?:kute`::{U+F1920} ; 󱤠 45 | :*?:lape`::{U+F1922} ; 󱤢 46 | :*?:laso`::{U+F1923} ; 󱤣 47 | :*?:lawa`::{U+F1924} ; 󱤤 48 | :*?:lete`::{U+F1926} ; 󱤦 49 | :*?:lili`::{U+F1928} ; 󱤨 50 | :*?:lipu`::{U+F192A} ; 󱤪 51 | :*?:loje`::{U+F192B} ; 󱤫 52 | :*?:luka`::{U+F192D} ; 󱤭 53 | :*?:lupa`::{U+F192F} ; 󱤯 54 | :*?:mama`::{U+F1931} ; 󱤱 55 | :*?:mani`::{U+F1932} ; 󱤲 56 | :*?:mije`::{U+F1935} ; 󱤵 57 | :*?:moku`::{U+F1936} ; 󱤶 58 | :*?:moli`::{U+F1937} ; 󱤷 59 | :*?:musi`::{U+F193B} ; 󱤻 60 | :*?:mute`::{U+F193C} ; 󱤼 61 | :*?:nasa`::{U+F193E} ; 󱤾 62 | :*?:nena`::{U+F1940} ; 󱥀 63 | :*?:nimi`::{U+F1942} ; 󱥂 64 | :*?:noka`::{U+F1943} ; 󱥃 65 | :*?:olin`::{U+F1945} ; 󱥅 66 | :*?:open`::{U+F1947} ; 󱥇 67 | :*?:pali`::{U+F1949} ; 󱥉 68 | :*?:pana`::{U+F194C} ; 󱥌 69 | :*?:pini`::{U+F1950} ; 󱥐 70 | :*?:pipi`::{U+F1951} ; 󱥑 71 | :*?:poka`::{U+F1952} ; 󱥒 72 | :*?:poki`::{U+F1953} ; 󱥓 73 | :*?:pona`::{U+F1954} ; 󱥔 74 | :*?:sama`::{U+F1956} ; 󱥖 75 | :*?:seli`::{U+F1957} ; 󱥗 76 | :*?:selo`::{U+F1958} ; 󱥘 77 | :*?:seme`::{U+F1959} ; 󱥙 78 | :*?:sewi`::{U+F195A} ; 󱥚 79 | :*?:sike`::{U+F195C} ; 󱥜 80 | :*?:sina`::{U+F195E} ; 󱥞 81 | :*?:sona`::{U+F1961} ; 󱥡 82 | :*?:suli`::{U+F1963} ; 󱥣 83 | :*?:suno`::{U+F1964} ; 󱥤 84 | :*?:supa`::{U+F1965} ; 󱥥 85 | :*?:suwi`::{U+F1966} ; 󱥦 86 | :*?:taso`::{U+F1968} ; 󱥨 87 | :*?:tawa`::{U+F1969} ; 󱥩 88 | :*?:telo`::{U+F196A} ; 󱥪 89 | :*?:toki`::{U+F196C} ; 󱥬 90 | :*?:tomo`::{U+F196D} ; 󱥭 91 | :*?:unpa`::{U+F196F} ; 󱥯 92 | :*?:walo`::{U+F1972} ; 󱥲 93 | :*?:waso`::{U+F1974} ; 󱥴 94 | :*?:wawa`::{U+F1975} ; 󱥵 95 | :*?:weka`::{U+F1976} ; 󱥶 96 | :*?:wile`::{U+F1977} ; 󱥷 97 | :*?:leko`::{U+F197C} ; 󱥼 98 | :*?:soko`::{U+F1981} ; 󱦁 99 | :*?:meso`::{U+F1982} ; 󱦂 100 | :*?:meli`::{U+F1933} ; 󱤳 101 | :*?:anpa`::{U+F1905} ; 󱤅 102 | :*?:ante`::{U+F1906} ; 󱤆 103 | :*?:awen`::{U+F1908} ; 󱤈 104 | :*?:esun`::{U+F190B} ; 󱤋 105 | :*?:ilo`::{U+F190E} ; 󱤎 106 | :*?:jan`::{U+F1911} ; 󱤑 107 | :*?:ken`::{U+F1918} ; 󱤘 108 | :*?:kon`::{U+F191D} ; 󱤝 109 | :*?:len`::{U+F1925} ; 󱤥 110 | :*?:lon`::{U+F192C} ; 󱤬 111 | :*?:mun`::{U+F193A} ; 󱤺 112 | :*?:ona`::{U+F1946} ; 󱥆 113 | :*?:pan`::{U+F194B} ; 󱥋 114 | :*?:sin`::{U+F195D} ; 󱥝 115 | :*?:tan`::{U+F1967} ; 󱥧 116 | :*?:uta`::{U+F1970} ; 󱥰 117 | :*?:wan`::{U+F1973} ; 󱥳 118 | :*?:kin`::{U+F1979} ; 󱥹 119 | :*?:oko`::{U+F197A} ; 󱥺 120 | :*?:ike`::{U+F190D} ; 󱤍 121 | :*?:ala`::{U+F1902} ; 󱤂 122 | :*?:ale`::{U+F1904} ; 󱤄 123 | :*?:anu`::{U+F1907} ; 󱤇 124 | :*?:ijo`::{U+F190C} ; 󱤌 125 | :*?:jo`::{U+F1913} ; 󱤓 126 | :*?:ko`::{U+F191C} ; 󱤜 127 | :*?:la`::{U+F1921} ; 󱤡 128 | :*?:li`::{U+F1927} ; 󱤧 129 | :*?:ma`::{U+F1930} ; 󱤰 130 | :*?:mi`::{U+F1934} ; 󱤴 131 | :*?:mu`::{U+F1939} ; 󱤹 132 | :*?:ni`::{U+F1941} ; 󱥁 133 | :*?:pi`::{U+F194D} ; 󱥍 134 | :*?:pu`::{U+F1955} ; 󱥕 135 | :*?:tu`::{U+F196E} ; 󱥮 136 | :*?:ku`::{U+F1988} ; 󱦈 137 | :*?:en`::{U+F190A} ; 󱤊 138 | :*?:o`::{U+F1944} ; 󱥄 139 | :*?:n`::{U+F1986} ; 󱦆 140 | :*?:a`::{U+F1900} ; 󱤀 141 | :*?:e`::{U+F1909} ; 󱤉 142 | 143 | 144 | :*?:[`::{U+F1990} ; cartouche start 145 | :*?:]`::{U+F1991} ; cartouche end 146 | :*?:=`::{U+F1992} ; cartouche extender 147 | 148 | :*?:-`::{U+200D} ; default zero width joiner 149 | :*?:^`::{U+F1995} ; stacking joiner 150 | :*?:*?`::{U+F1996} ; scaling joiner 151 | 152 | :*?:(`::{U+F1997} ; start left-combining (normal) long glyph 153 | :*?:)`::{U+F1998} ; end left-combining (normal) long glyph 154 | :*?:_`::{U+F1999} ; container extender 155 | 156 | :*?:{`::{U+F199A} ; start right-combining (reversed) long glyph 157 | :*?:}`::{U+F199B} ; end right-combining (reversed) long glyph 158 | 159 | :*?:.`::{U+F199C} ; sitelen pona full stop 160 | :*?:\:`::{U+F199D} ; sitelen pona colon 161 | 162 | 163 | :*?: `::{U+3000} ; logograph fullwidth space 164 | :*?:<`::{U+300C} ; 「 start quote 165 | :*?:>`::{U+300D} ; 」 end quote 166 | 167 | 168 | :*?:~~`::{U+FE01} ; variation selector 2 169 | :*?:~`::{U+FE00} ; variation selector 1 -------------------------------------------------------------------------------- /sitelen-pona.inputplugin: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/Id405/sitelen-pona-ucsur-guide/eda2ffa9a654c54e29a93ea18513502a83ebc98b/sitelen-pona.inputplugin -------------------------------------------------------------------------------- /tokipona.txt: -------------------------------------------------------------------------------- 1 | ### File header must not be modified 2 | ### This file must be encoded into UTF-8. 3 | ### This table under LGPL 4 | ### comments start with ### not single # 5 | ### Derive from the format of SCIM Table, so you can modify the table from 6 | ### scim-tables' table 7 | SCIM_Generic_Table_Phrase_Library_TEXT 8 | VERSION_1_0 9 | 10 | ### Begin Table definition. 11 | BEGIN_DEFINITION 12 | 13 | ### License 14 | LICENSE = LGPL 15 | 16 | ### An unique id to distinguish this table among others. 17 | ### Use uuidgen to generate this kind of id. 18 | UUID = e530f083-e20e-4e85-8d91-980019258c23 19 | 20 | ### A unique number indicates the version of this file. 21 | ### For example the last modified date of this file. 22 | ### This number must be less than 2^32. 23 | ### Just make your table version-able 24 | SERIAL_NUMBER = 20220215 25 | 26 | ### ICON can be any format as long as your pygtk can recognized 27 | ### the most widely ones are "png" and "svg", letter one is recommended 28 | ICON = ibus-table.svg 29 | 30 | ### The symbol to be displayed in IM switchers 31 | SYMBOL = 󱥬 32 | 33 | ### The default name of this table, this is needed 34 | NAME = sitelen pona 35 | 36 | ### The local names of this table, this is optional 37 | ### NAME.zh_CN = 形码 38 | ### NAME.zh_HK = 形碼 39 | ### NAME.zh_TW = 形碼 40 | 41 | ### Description 42 | DESCRIPTION = sitelen pona input method for IBus 43 | 44 | ### Supported languages of this table 45 | ### sigle "zh_CN" just be recognized as zh_CN, 46 | ### but "zh_CN, zh_HK" or more zh_XX will be recognized as zh; 47 | ### and "en_US, zh_CN" will be just ignored. 48 | LANGUAGES = en_US 49 | 50 | ### The author of this table 51 | AUTHOR = jan Komi 52 | 53 | ### Prompt string to be displayed in the status area, CN will be replaced by 54 | ### the gettext tools in runtime as 中. 55 | STATUS_PROMPT = toki 56 | 57 | ### Valid input chars. 58 | VALID_INPUT_CHARS = abcdefghijklmnopqrstuvwxyz[]_' 59 | 60 | ### Layout 61 | LAYOUT = us 62 | 63 | ### The max number of input keys for every phrase or character. 64 | MAX_KEY_LENGTH = 20 65 | 66 | ### Use auto_commit mode as default 67 | AUTO_COMMIT = TRUE 68 | 69 | ### Automatically selects the first phrase when typing 70 | AUTO_SELECT = FALSE 71 | 72 | ### Use full width punctuation by default 73 | DEF_FULL_WIDTH_PUNCT = FALSE 74 | ### Not use full width letter by default 75 | DEF_FULL_WIDTH_LETTER = FALSE 76 | 77 | ### Whether user are allow to define phrase, default is true 78 | ### You have to define the word construction rules below. 79 | ### For input methods which do not input phrases, set this to False 80 | USER_CAN_DEFINE_PHRASE = FALSE 81 | 82 | ### Whether support PinYin Mode, default is true. 83 | ### this feature is just for Chinese, set it to False if your IM is not 84 | ### Chinese. 85 | PINYIN_MODE = FALSE 86 | 87 | ### If true then the phrases' frequencies will be adjusted dynamically 88 | ### according your using frequency. 89 | DYNAMIC_ADJUST = TRUE 90 | 91 | ### Some characters whose frequencies should be fix all the time, e.g. 92 | ### some punctuations 93 | ### NO_CHECK_CHARS = 94 | 95 | ### Rules for constructing user defined phrase 96 | ### "ce" stands for "ci equal", a Chinese English :), means "phrase length 97 | ### equal to", thus ce2 -> phrase length equal to 2; and "ca" means "phrase 98 | ### length equal or above", so ca4 -> phrase length equal or above 4. 99 | ### p21 -> the 1st key of 2nd character in the phrase, and so on. 100 | ### Each rule separate via ";". 101 | ### Example below is a complete rule-set, 102 | ### becuase [2,2] ∩ [3,3] ∩ [4,+∞] = [2,+∞], which is the range of length 103 | ### of phrase. This have to be satisfied if you need ibus-table to build up 104 | ### your own inputed phrase via your daily using. 105 | ### RULES = ce2:p11+p12+p21+p22;ce3:p11+p21+p22+p31;ca4:p11+p21+p31+p41 106 | 107 | ### The key strokes to page up the lookup table. 108 | ### PAGE_UP_KEYS = Page_Up,KP_Page_Up,minus,comma 109 | 110 | ### The key strokes to page down. 111 | ### PAGE_DOWN_KEYS = Page_Down,KP_Page_Down,equal,period 112 | 113 | ### The key strokes to select candidiate phrases. 114 | ### Usually "1,2,3,4,5,6,7,8,9" but if this conflicts with 115 | ### characters one wants to use for input one can also 116 | ### use something like “F1,F2,F3,F4,F5,F6,F7,F8,F9” 117 | SELECT_KEYS = 1,2,3,4,5,6,7,8,9 118 | 119 | ### The default orientation of the candidate list 120 | ### TRUE means the candidate list is vertical, FALSE means it is vertical 121 | ORIENTATION=TRUE 122 | 123 | END_DEFINITION 124 | 125 | ### Begin Table data. 126 | ### Format of every line whose formated in "input_keys\tphrase\tfreq\n" is an 127 | ### entry. 128 | ### From left to right, the 1st column are the input key combination that you 129 | ### entered via keyboard; the 2nd column are presented character or phrase of 130 | ### the key combination you want; the 3rd column are frequency of the character 131 | ### or phrase. 132 | BEGIN_TABLE 133 | a 󱤀 1 134 | akesi 󱤁 1 135 | ala 󱤂 1 136 | alasa 󱤃 1 137 | ale 󱤄 1 138 | anpa 󱤅 1 139 | ante 󱤆 1 140 | anu 󱤇 1 141 | awen 󱤈 1 142 | e 󱤉 1 143 | en 󱤊 1 144 | esun 󱤋 1 145 | ijo 󱤌 1 146 | ike 󱤍 1 147 | ilo 󱤎 1 148 | insa 󱤏 1 149 | jaki 󱤐 1 150 | jan 󱤑 1 151 | jelo 󱤒 1 152 | jo 󱤓 1 153 | kala 󱤔 1 154 | kalama 󱤕 1 155 | kama 󱤖 1 156 | kasi 󱤗 1 157 | ken 󱤘 1 158 | kepeken 󱤙 1 159 | kili 󱤚 1 160 | kiwen 󱤛 1 161 | ko 󱤜 1 162 | kon 󱤝 1 163 | kule 󱤞 1 164 | kulupu 󱤟 1 165 | kute 󱤠 1 166 | la 󱤡 1 167 | lape 󱤢 1 168 | laso 󱤣 1 169 | lawa 󱤤 1 170 | len 󱤥 1 171 | lete 󱤦 1 172 | li 󱤧 1 173 | lili 󱤨 1 174 | linja 󱤩 1 175 | lipu 󱤪 1 176 | loje 󱤫 1 177 | lon 󱤬 1 178 | luka 󱤭 1 179 | lukin 󱤮 1 180 | lupa 󱤯 1 181 | ma 󱤰 1 182 | mama 󱤱 1 183 | mani 󱤲 1 184 | meli 󱤳 1 185 | mi 󱤴 1 186 | mije 󱤵 1 187 | moku 󱤶 1 188 | moli 󱤷 1 189 | monsi 󱤸 1 190 | mu 󱤹 1 191 | mun 󱤺 1 192 | musi 󱤻 1 193 | mute 󱤼 1 194 | nanpa 󱤽 1 195 | nasa 󱤾 1 196 | nasin 󱤿 1 197 | nena 󱥀 1 198 | ni 󱥁 1 199 | nimi 󱥂 1 200 | noka 󱥃 1 201 | o 󱥄 1 202 | olin 󱥅 1 203 | ona 󱥆 1 204 | open 󱥇 1 205 | pakala 󱥈 1 206 | pali 󱥉 1 207 | palisa 󱥊 1 208 | pan 󱥋 1 209 | pana 󱥌 1 210 | pi 󱥍 1 211 | pilin 󱥎 1 212 | pimeja 󱥏 1 213 | pini 󱥐 1 214 | pipi 󱥑 1 215 | poka 󱥒 1 216 | poki 󱥓 1 217 | pona 󱥔 1 218 | pu 󱥕 1 219 | sama 󱥖 1 220 | seli 󱥗 1 221 | selo 󱥘 1 222 | seme 󱥙 1 223 | sewi 󱥚 1 224 | sijelo 󱥛 1 225 | sike 󱥜 1 226 | sin 󱥝 1 227 | sina 󱥞 1 228 | sinpin 󱥟 1 229 | sitelen 󱥠 1 230 | sona 󱥡 1 231 | soweli 󱥢 1 232 | suli 󱥣 1 233 | suno 󱥤 1 234 | supa 󱥥 1 235 | suwi 󱥦 1 236 | tan 󱥧 1 237 | taso 󱥨 1 238 | tawa 󱥩 1 239 | telo 󱥪 1 240 | tenpo 󱥫 1 241 | toki 󱥬 1 242 | tomo 󱥭 1 243 | tu 󱥮 1 244 | unpa 󱥯 1 245 | uta 󱥰 1 246 | utala 󱥱 1 247 | walo 󱥲 1 248 | wan 󱥳 1 249 | waso 󱥴 1 250 | wawa 󱥵 1 251 | weka 󱥶 1 252 | wile 󱥷 1 253 | namako 󱥸 1 254 | kin 󱥹 1 255 | oko 󱥺 1 256 | kipisi 󱥻 1 257 | leko 󱥼 1 258 | monsuta 󱥽 1 259 | tonsi 󱥾 1 260 | jasima 󱥿 1 261 | kijetesantakalu 󱦀 1 262 | soko 󱦁 1 263 | meso 󱦂 1 264 | epiku 󱦃 1 265 | kokosila 󱦄 1 266 | lanpan 󱦅 1 267 | n 󱦆 1 268 | misikeke 󱦇 1 269 | ku 󱦈 1 270 | pake 󱦠 1 271 | apeja 󱦡 1 272 | majuna 󱦢 1 273 | powe 󱦣 1 274 | [ 󱦐 1 275 | ] 󱦑 1 276 | _ 󱦒 1 277 | pi_ 󱦓 1 278 | ' 󱦔 1 279 | END_TABlE 280 | 281 | ### Since some input methods use different table for every character to make 282 | ### phrase, such as ZhengMa, they need explict define the goucima (the 283 | ### phrase-building code for the given character), the format of every entry is 284 | ### "character\tgoucima\n". 285 | ### For the input method which just use the full code as word-building code 286 | ### just skip this field. The ibus-table will build the codes needed from 287 | ### above TABLE. 288 | ### if you don't need different word-building code, please comment out the 289 | ### next few lines with ###, just like these lines you are look at now. 290 | ### BEGIN_GOUCI 291 | ### character_1 goucima_1 292 | ### character_1 goucima_2 293 | ### END_GOUCI 294 | --------------------------------------------------------------------------------