Son of WinGreek Encoding
Son of WinGreek is part of the "SilverFonts" shareware font package by Silver Mountain Software created, as far as I understand, for displaying Ancient Greek text. Text written in Son of WinGreek is called Son of WinGreek Encoded.
Simply put, the font is designed in a way to display Greek letters when Latin letters and punctuation marks are typed (much like the freeware SPIonic font). The difference from SPIonic is that it has way much more duplicate characters (these alternative forms of characters are rendered using different horizontal and/or vertical positioning regarding the base of characters), uses ASCII control characters to encode letters and it can use numbers 1-0, which SPIonic cannot.
Download Son of WinGreek font ^
You will have to download the Son of WinGreek font in case
- You want to be able to read Son of WinGreek encoded text without converting it to Unicode
- You want to publish Son of WinGreek encoded documents or web pages
- You want to be able to type in Greek / Ancient Greek without installing a special keyboard driver or layout
Although the font is freely redistributable software, please keep in mind that it is shareware.
Quoting from the original download page (Silver Mountain Software - SilverFonts):
"Both basic Greek and Hebrew (Son of WinGreek and Shebrew) fonts and our newer SGkClassic and RHebrew fonts are available as shareware! This means you can download the fonts for FREE and try them out. If you find them useful you can come back and register them".
AncientGreek Son of WinGreek 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
This macro converts text written in Son of WinGreek to Unicode (normal text that can be edited in LibreOffice / OpenOffice).
This macro converts text written in Unicode (normal text edited in LibreOffice / OpenOffice) to Son of WinGreek.
Several characters will be converted to fullwidth/halfwidth characters before starting the actual conversion to Son of WinGreek. These characters include "(", ")", "#", "%", "«", "»" etc. which are used by Son of WinGreek to represent Ancient Greek letters. These characters will be converted to their original value when converting back to Unicode.
The following table shows the characters substitution that takes place when converting Unicode text to Son of WinGreek. All substitute characters are fullwidth/halhwidth characters, unless otherwise noted.
|Original character||Substitute character||Original character||Substitute character|
|En Dash (– U+2013)||－ (U+FF0D)||Hash Sign (# U+0023)||＃ (U+FF03)|
|Em Dash (— U+2014)||― (U+2015) *||Dollar Sign ($ U+0024)||＄ (U+FF04)|
|Quotation Mark (" U+0022)||＂ (U+FF02)||Percent Sign (% U+0025)||％ (U+FF05)|
|Left Single Quotation Mark (‘ U+2018)||ʻ (U+02BB) *||Ampersand (& U+0026)||＆ (U+FF06)|
|Apostroph (Right Single Quotation Mark) (’ U+2019)||ʼ (U+02BC) *||Colon (: U+003A)||： (U+FF1A)|
|Left Low Single Quotation Mark (‚ U+201A)||❟ (U+275F) *||Commercial At (@ U+0040)||＠ (U+FF20)|
|Right High Double Quotation Mark (“ U+201C)||〝 (U+301D) *||Cent Sign (¢ U+00A2)||￠ (U+FFE0)|
|Right Double Quotation Mark (” U+201D)||″ (U+2033) *||Pound Sign (£ U+00A3)||￡ (U+FFE1)|
|Left Low Double Quotation Mark („ U+201E)||〟 (U+301F) *||Broken Bar (¦ U+00A6)||￤ (U+FFE4)|
|Left Double Angle Bracket (« U+00AB)||《 (U+300A) *||Slash (/ U+002F)||／ (U+FF0F)|
|Right Double Angle Bracket (» U+00BB)||》 (U+300B) *||Backslash (\ U+005C)||＼ (U+FF3C)|
|Exclamation Mark (! U+0021)||！ (U+FF01)||Bullet (• U+2022)||･ (U+FF65)|
|Plus Sign (+ U+002B)||＋ (U+FF0B)||Circumflex Accent (^ U+005E)||＾ (U+FF3E)|
|Plus-Minus Sign (± U+00B1)||＋／－ (U+FF0B U+FF0F U+FF0D)|
* Non fullwidth/halhwidth character.
Furthermore, several characters are missing from Son of WinGreek Encoding altogether, so they have to be converted to "equivalent" characters before the actual conversion to Son of WinGreek is performed. These characters are shown in the following table:
|Missing character||Substitute character||Missing character||Substitute character|
|ᾂ (U+1F82)||ἂ (U+1F02)||Ῠ (U+1FE8)||Υ (U+03A5)|
|Ᾰ (U+1FB8)||Α (U+0391)||Ῡ (U+1FE9)||Υ (U+03A5)|
|Ᾱ (U+1FB9)||Α (U+0391)||ῠ (U+1FE0)||υ (U+03C5)|
|ᾰ (U+1FB0)||α (U+03B1)||ῡ (U+1FE1)||υ (U+03C5)|
|ᾱ (U+1FB1)||α (U+03B1)||Ϊ (U+03AA)||Ι (U+0399)|
|ῐ (U+1FD0)||ι (U+03B9)||Ϋ (U+03AB)||Υ (U+03A5)|
|ῑ (U+1FD1)||ι (U+03B9)||ῗ (U+1FD7)||ϊ (U+03CA)|
|Ῐ (U+1FD8)||Ι (U+0399)||ῧ (U+1FE7)||ϋ (U+03CD)|
|Ῑ (U+1FD9)||Ι (U+0399)|
Duplicate characters ^
Son of WinGreek contains the following duplicate characters:
|Unicode character||First form||Second form|
AncientGreek will correctly convert these characters to Unicode, but will use only the "Second form" set when concerting text to Son of WinGreek.
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 Son of WinGreek is performed.
Working with selections ^
Converting a text selection is somewhat different to converting the whole document:
- The conversion is done on a paragraph to paragraph basis. This means if the selection spawns in more than one paragraph, each paragraph is converted as a whole in one step (making it easier to undo the conversion).
- On the other hand, when converting a whole document, a character by character conversion is executed. This is done to reduce execution time and preserve any existing text formatting. (When converting on a paragraph to paragraph basis any existing text formatting is lost).
- Mixed selection handling has been vastly improved. When selecting a whole table, or normal text and a whole table, or text within a table cell, each element will be correctly converted, thanks to the help I got from forum.openoffice.org.
- When objects placeholders are selected, the selection is considered invalid. These are: images placeholders, text frames placeholders, shapes placeholders and OLE objects placeholders. When such selections are detected by the macros, a message informing the user will be displayed.
Invalid selection message on Mac OS
In order to convert text found within images or text frames placeholders, one would just select the text itself and preform its conversion.
Invalid image or text frame selection message on Mac OS
Son of WinGreek implementation ^
AncientGreek fully implements the encoding as shown in the following table.
Note: ASCII control characters are displayed using the terms defined at The Unicode Consortium Specification v. 7, (in bold green color) followed by their Unicode code.
The following indications mean:
*Son of WinGreek duplicate character
|Greek Letter||ASCII character (Lowercase)||ASCII character (Uppercase)||Greek Letter||ASCII character (Lowercase)||ASCII character (Uppercase)|
|Rho with Rough Breathing||· (U+00B7)||Rho with Smooth Breathing||¸ (U+00B8)|
|Archaic Koppa||%||South West Arrow (↙)||!|
|Symbol||ASCII Character||Symbol||ASCII Character||Symbol||ASCII Character|
|Smooth breathing||'||Rough breathing||`||Iota subscript||Ä|
|Smooth breathing with Acute||”||Smooth breathing with Grave||–||Smooth breathing with Circumflex||’|
|Rough breathing with Acute||“||Rough breathing with Grave||•||Rough breathing with Circumflex||‘|
|Diaeresis with acute||—||Diaeresis with grave||þ||Iota subscript||Ä|
|Left Double Quotation*||XXX (U+0080)||Right Double Quotation||HOP (U+0081)|
|Small Greek vowels with diacritics|
|Symbol||ASCII Character||Symbol||ASCII Character||Symbol||ASCII Character|
|Alpha with smooth breathing||¢||Alpha with rough breathing||¡||Alpha with iota subscript||&|
|Alpha with acute||£||Alpha with grave||¦||Alpha with circumflex||©|
|Alpha with acute and iota subscript||®||Alpha with grave and iota subscript||±||Alpha with circumflex and iota subscript||´|
|Alpha with smooth breathing and acute||¥||Alpha with smooth breathing and grave||¨||Alpha with smooth breathing and circumflex||«|
|Alpha with rough breathing and acute||¤||Alpha with rough breathing and grave||§||Alpha with rough breathing and circumflex||ª|
|Alpha with smooth breathing and iota subscript||−
|Alpha with rough breathing and iota subscript||¬|
|Alpha with smooth breathing, acute and iota subscript||°||Alpha with smooth breathing, grave and iota subscript||³||Alpha with smooth breathing, circumflex and iota subscript||¶|
|Alpha with rough breathing, acute and iota subscript*||¯||Alpha with rough breathing, grave and iota subscript||²||Alpha with rough breathing, circumflex and iota subscript*||µ|
|Epsilon with smooth breathing||™||Epsilon with rough breathing||˜|
|Epsilon with acute||š||Epsilon with grave||OSC (U+009D)||Epsilon with circumflex||ü|
|Epsilon with smooth breathing and acute||œ||Epsilon with smooth breathing and grave||Ÿ|
|Epsilon with rough breathing and acute*||PM (U+009E)||Epsilon with rough breathing and grave||ž|
|Eta with smooth breathing||¸||Eta with rough breathing||¹||Eta with iota subscript||Ä|
|Eta with acute||»||Eta with grave||¾||Eta with circumflex||Á|
|Eta with acute and iota subscript||Ç||Eta with grave and iota subscript||Ê||Eta with circumflex and iota subscript||Í|
|Eta with smooth breathing and acute||Û||Eta with smooth breathing and grave||À||Eta with smooth breathing and circumflex||Ã|
|Eta with rough breathing and acute||¼||Eta with rough breathing and grave||¿||Eta with rough breathing and circumflex||Â|
|Eta with smooth breathing and iota subscript||Æ||Eta with rough breathing and iota subscript||Å|
|Eta with smooth breathing, acute and iota subscript||É||Eta with smooth breathing, grave and iota subscript||Ì||Eta with smooth breathing, circumflex and iota subscript||Ï|
|Eta with rough breathing, acute and iota subscript||È||Eta with rough breathing, grave and iota subscript||Ë||Eta with rough breathing, circumflex and iota subscript||Î|
|Iota with smooth breathing||„||Iota with rough breathing||ƒ|
|Iota with acute||…||Iota with grave||ˆ||Iota with circumflex||‹|
|Iota with smooth breathing and acute||‡||Iota with smooth breathing and grave||Š||Iota with smooth breathing and circumflex||RI (U+008D)|
|Iota with rough breathing and acute||†||Iota with rough breathing and grave||‰||Iota with rough breathing and circumflex||Œ|
|Iota with diaeresis and acute||SS3 (U+008F)||Iota with diaeresis and grave||DCS (U+0090)||Iota with diaeresis*||SS2 (U+008E)|
|Omicron with smooth breathing||Ñ||Omicron with rough breathing||Ð|
|Omicron with acute||Ò||Omicron with grave||Õ||Omicron with circumflex||ý|
|Omicron with smooth breathing and acute||Ô||Omicron with smooth breathing and grave||×|
|Omicron with rough breathing and acute||Ó||Omicron with rough breathing and grave||Ö|
|Upsilon with smooth breathing||Ù||Upsilon with rough breathing||Ø|
|Upsilon with acute||Ú||Upsilon with grave||Ý||Upsilon with circumflex||à|
|Upsilon with smooth breathing and acute||Ü||Upsilon with smooth breathing and grave||ß||Upsilon with smooth breathing and circumflex||â|
|Upsilon with rough breathing and acute||Û||Upsilon with rough breathing and grave||Þ||Upsilon with rough breathing and circumflex||á|
|Upsilon with diaeresis and acute||ä||Upsilon with diaeresis and grave||å||Upsilon with diaeresis||ã|
|Omega with smooth breathing||ç||Omega with rough breathing||æ||Omega with iota subscript||J|
|Omega with acute||è||Omega with grave||ë||Omega with circumflex||î|
|Omega with acute and iota subscript||ó||Omega with grave and iota subscript||ö||Omega with circumflex and iota subscript||ù|
|Omega with smooth breathing and acute||ê||Omega with smooth breathing and grave||í||Omega with smooth breathing and circumflex||ð|
|Omega with rough breathing and acute||é||Omega with rough breathing and grave||ì||Omega with rough breathing and circumflex||ï|
|Omega with smooth breathing and iota subscript||ò||Omega with rough breathing and iota subscript||ñ|
|Omega with smooth breathing, acute and iota subscript||õ||Omega with smooth breathing, grave and iota subscript||ø||Omega with smooth breathing, circumflex and iota subscript||û|
|Omega with rough breathing, acute and iota subscript||ô||Omega with rough breathing, grave and iota subscript||÷||Omega with rough breathing, circumflex and iota subscript||ú|
- On uppercase letters these are keyed in the order:
- (1) breathing, (2) letter
- (1) accent, (2) letter
- (1) breathing & accent, (2) letter
- Iota subscript is inserted using an i (U+0069) character following any of the previous combinations