SPIonic Encoding
SPIonic is actually a public domain font created for editing text for the Religion and Technology Center, Inc.. Text written in SPIonic is called SPIonic Encoded.
Simply put, the font is designed in a way to display Greek letters when Latin letters and punctuation marks are typed.
Quoting from SP Fonts Home Page:
"The SP fonts (named for Scholars Press, my former, now defunct, employer) are a set of simple, free fonts that were created for use on the Web, though they also work in print. The design goals behind the SP fonts are (1) simple installation; (2) simple input of text, based on accepted transliteration standards; (3) use of common character maps for Macs and Windows computers. By creating these free fonts, it was my hope that scholars, students, and others could interchange multilingual text documents with one another as easily and inexpensively as possible. The fonts were originally designed for use in my e-journal, TC: A Journal of Biblical Textual Criticism, but they are now used on many different Web sites, as well as in print."
Quoting from SPIonic.readme file:
"Description: SPIonic exists in both Macintosh and Windows versions, both with the same character and keyboard maps. By design, all characters in the font lie between decimal 32 and 127 (20x-7Fx, 040-0177), so they should transfer without problem over the Internet. The font is designed to follow the Thesaurus Linguae Graecae encoding scheme (see http://purl.org/TC/TC-translit.html#Greek) to as great an extent as possible, with a few exceptions. The most important exception is that upper- and lowercase letters have separate code points, unlike the TLG standard which requires an asterisk to indicate an uppercase letter (however, the asterisk is also part of the font). A second major variation is that breathing marks, accents, and other diacriticals exist in two forms: one for use with narrow characters and one for use with wide characters."
Download SPIonic font ^
You have to download the SPIonic font in case
- You want to be able to read SPIonic encoded text without converting it to Unicode
- You want to publish SPIonic encoded documents or web pages
- You want to be able to type in Greek / Ancient Greek without installing a special keyboard driver or layout
AncientGreek SPIonic conversion Macros ^
I suggest saving your work before running either of these macros on a document (no text selection), so that reverting (Menu File / Reload) to it is possible, as Undoing may not be of much help, since a letter by letter substitution will take place resulting in way too many undo steps.
If any of these macros are executed without selecting any text, a warning message similar to the one shown in the following picture will appear.
Warning message on Windows 8.1
• SPIonicToUnicode Macro
This macro converts text written in SPIonic to Unicode (normal text that can be edited in LibreOffice / OpenOffice).
• UnicodeToSPIonic Macro
This macro converts text written in Unicode (normal text edited in LibreOffice / OpenOffice) to SPIonic.
Using fullwidth characters ^
If the document (or selection) contains ASCII characters (English text), they will automatically be converted to the "fullwidth / halfwidth" characters, when text conversion from Unicode to SPIonic is performed.
SPIonic implementation ^
This implementation does not realize the complete SPIonic "charset", as described in the SPIonic.readme file, but is limited to the following:
Greek Letter | ASCII character (Lowercase) | ASCII character (Uppercase) | Greek Letter | ASCII character (Lowercase) | ASCII character (Uppercase) |
---|---|---|---|---|---|
Alpha | a | A | Nu | n | N |
Beta | b | B | Xi | c | C |
Gamma | g | G | Omicron | o | O |
Delta | d | D | Pi | p | P |
Epsilon | e | E | Rho | r | R |
Zeta | z | Z | Sigma | s | S |
Eta | h | H | Tau | t | T |
Theta | q | Q | Upsilon | u | U |
Iota | i | I | Phi | f | F |
Kappa | k | K | Chi | x | X |
Lambda | l | L | Psi | y | Y |
Mu | m | M | Omega | w | W |
Stigma (lowercase) |
v | Digamma (Uppercase) |
V | ||
Coppa (upercase) |
J | Sampi (Uppercase) |
` (grave accent) |
||
Final Sigma | j | ||||
Diacritics | |||||
Symbol | Narrow (unshifted) |
Wide (shifted) |
Symbol | Narrow (unshifted) |
Wide (shifted) |
Smooth breathing | 0 | ) | Rough breathing | 9 | ( |
Smooth breathing with Acute |
1 | ! | Rough breathing with Acute |
3 | # |
Smooth breathing with Grave |
2 | @ | Rough breathing with Grave |
4 | $ |
Smooth breathing with Circumflex |
] | } | Rough breathing with Circumflex |
[ | { |
Diaeresis with Acute |
5 | % | Diaeresis with Grave |
6 | ^ |
Period | . | . | Apostrophe | ' | |
Acute | / | & | Ano Teleia | : | |
Grave | \ | _ | Question Mark | ; | |
Circumflex | = | ~ | Overstrike for Nomina Sacra | 8 | |
Iota subscript |
| | Dash | _ | _ | |
Diaeresis | + | " | Hyphen | * | |
Macron narrow |
< | Macron wide |
> | ||
Non Breaking Space | 7 |
The issue with Macron ^
Ancient Greek vowels can be deivided in:
Macron | η ω |
Vrachy (Breve) | ε ο |
Any | α ι υ |
Unicode Standard 7.0 defines precombined accented code-points for α, ι, υ only (ᾰ, ᾱ, Ᾰ, Ᾱ, ῑ, ῐ, Ῑ, Ῐ, ῡ, ῠ, Ῡ, Ῠ), which are the vowels that can be either Macron or Vrachy as appropriate. The remaining vowels can be either Macron (η, ω) or Vrachy (ε, ο), so no such code-points exist for them.
This means that:
- in SPIonic, it is possible to type non-existing letters (e.g. EPSILLON WITH MACRON). It is entirely up to the user not to use these erroneous combinations.
- in SPIonic, it is not possible to type a Vrachy vowel.
Furthermore, Unicode does not distinguish between narrow and wide letters.
As a result, we have a lot of inconsistencies, as shown in the following table:
Vowel followed by |
Macron narrow |
Macron wide |
---|---|---|
a | ᾱ | ᾱ |
i | ῑ | ῑ |
u | ῡ | ῡ |
h | η̄ | η̄ |
w | ω̄ | ω̄ |
e | ε̄ | ε̄ |
o | ō | ō |
As it is obvious from the above table, wherever a valid code point exists, it will be used. When a valid code point does not exist, the "COMBINING MACRON" character (U+0304) will be used, producing an erroneous result, but being consistent with what the user has typed.
Extended SPIonic implementation ^
SPIonic introduces a very easy way of writing Ancient Greek Text without installing system wide Ancient Greek Language support or any keyboard layout (driver etc.). All one needs to install is the SPIonic font and a Unicode font capable of displaying Ancient Greek text (such fonts should be installed by default on any modern Operating System).
On the other hand, it has one disadvantage: one cannot write numbers and some punctuation marks (parenthesis, exclamation mark, curly brackets are some of them), because it uses them to represent Ancient Greek accent. In order to compensate this fact, AncientGreek provides a mechanism based on the use of Halfwidth and fullwidth characters.
Halfwidth and fullwidth characters cannot be directly inserted by keyboard input, so each desired character will be preceded by a ` character (Grave Accent in Unicode or Sampi in SPIonic). AncientGreek will recognize and transform any of the following combination of characters to their halfwidth and fullwidth forms, when a conversion to SPIonic is performed.
Character Combination | SPIonic Characters | Full/Half width Character | Character Combination | SPIonic Characters | Full/Half width Character | |
---|---|---|---|---|---|---|
`1 | `1 | 1 | `! | `! | ! | |
`2 | `2 | 2 | `@ | `@ | @ | |
`3 | `3 | 3 | `# | `# | # | |
`4 | `4 | 4 | `$ | `$ | $ | |
`5 | `5 | 5 | `% | `% | % | |
`6 | `6 | 6 | `^ | `^ | ^ | |
`7 | ` | 7 | `& | `& | & | |
`8 | `8 | 8 | `* | `* | * | |
`9 | `9 | 9 | `( | `( | ( | |
`0 | `0 | 0 | `) | `) | ) | |
`+ | `+ | + | `| | `| | | | |
`" | `" | " | `_ | `_ | _ | |
`< | `< | < | `> | `> | > | |
`[ | `[ | [ | `] | `] | ] | |
`{ | `{ | { | `} | `} | } | |
`= | `= | = | `~ | `~ | ~ | |
`\ | `\ | \ | `/ | `/ | / |
Using any of these combinations and converting Unicode text to SPIonic (icon on the Secondary Toolabr), will make it possible to use characters "missing" from the SPIonic character map.
If the text is already SPIonic Encoded, then one should use the AncientGreek main dialog "Convert SPIonic to Fullwidth Unicode" Macro (or the icon or Secondary Toolbar).
Example ^
Let's suppose that we have the text shown in the above picture. It's SPIonic encoded and the font used for the paragraph is SPIonic. Let's also suppose that we want to enclose in parenthesis the section in red.
We'd type "`" and "(" at the begining of the section and "`" and ")" at the end of the section. The picture shows what we'd see on the screen.
Then we'd execute the macro "Convert Extended SPIonic to Fullwidth Unicode" or click the icon on the Secondary Toolbar, and we'd get the result shown in the above picture. Both parenthesis (in green) are "Fullwidth" characters (notice the extra space before the left parenthesis and the extra space after the right parenthesis).
Finally, we'd execute the macro "Convert SPIonic to Unicode" or click the icon on the Secondary Toolbar, and change the paragraph's font to any Unicode font capable to display Ancient Greek Language Text, and we'd get the result shown above.