Ibycus Keyboard Layout
Ibycus Keyboard Layout is (as far as i understand) an implementation of Ibycus TeX package, which has a fairly complete set of the symbols needed for manuscripts, papyri and inscriptions. It provides LibreOffice / OpenOffice users an easy way to write in Ancient Greek (and monotonic Greek) without having to install any other S/W or keyboard driver. Its input is a close relative of BetaCode, substituting slashes with apostrophes for acute and grave accents.
Ibycus is based on post-positive accentuation, which makes it much closer to Unicode than some of the other legacy Greek encodings which used pre-positive accentuation.
Post-positive accentuation means that one would always type the letter first and then any diacritics to get the desired code-point, as seen in the following table.
|"a" typed||"α" displayed|
|")" typed||"α" turns to "ἀ"|
|"=" typed||"ἀ" turns to "ἆ"|
|"|" typed||"ἆ" turns to "ᾆ"|
|Typing the latter "ᾆ" using Ibycus Keyboard Layout|
Diacritics must be typed in a certain order, as seen in the implementation table below. Diacritics are grouped in three groups depending on the order they must be typed. So, one would type an "order 1 diacritic", followed by an "order 2 diacritic" and an "order 3 diacritic" to get the desired letter. Failing to obey this order would lead to getting different letters than the ones intended.
Using the Layout ^
AncientGreek adds an icon in the Main Toolbar which can be used to activate the Layout per document and a keyboard shortcut can be used to toggle Greek Input on and off. Finally, a suitable font is used to display Ancient Greek text (through the use of character styles).
Ibycus Keyboard Layout , as most of AncientGreek Macros is meant to be used on Writer's text input mode only. So, if you try to activate it on the Print Preview window or on the HTML source code editor, for example, a warning message will appear:
Warning message on Manjaro Linux
The "I" icon ^
The "I" icon ("I" for Ibycus) which resides on LibreOffice / OpenOffice "Main Toolbar" will change its picture to indicate the layout's state, as follows:
The "I" icon vissibility must never be manually tampered with. Should one fail to comply with this restriction, one may render "Ibycus Keyboard Layout" unusable.
Special key combinations^
When Greek input is active, it accepts the following special key combinations:
|Windows / Linux||Mac OS X|
|Ctrl-7||⌘7||Opens the help page.|
|Ctrl-8||⌘8||Opens the Character Insertion dialog.|
|Ctrl-9||⌘9||Opens the layout's image in the OS's default application.|
Using styles and fonts^
Starting with v. 1.4-rc1, AncientGreek uses character styles to provide a way to customize the way Ancient Greek text appears on the document. Furthermore, v. 1.5-beta4 provides the way to disable the use of fonts and style altogether.
AncientGreek uses two special character styles:
- AncientGreek: Normal text
- This character style is used by Ibycus Keyboard Layout when it's inactive (it's the "inactive style"). Its settings are identical to the default OpenOffice/LibreOffice settings, so that text written in your native language is the same no matter if you use the Layout or not.
- AncientGreek: Ἀρχαία ἑλληνικά
- This character style is used by Ibycus Keyboard Layout when it's active (it's the "active style"). Its settings are identical to the default OpenOffice/LibreOffice settings, with two exceptions: its Font and its Language.
- Setting the Font (its value is an AncientGreek parameter) permits you to use a suitable font for displaying Ancient Greek text. Setting the Language to Ancient Greek, enables you to use AncientGreek spell check and hyphenation features.
Both of these character styles are available for customization at the side bar, but I would recommend not to manually change their settings. The "inactive" character's style properties can be changed by changing your default settings, while the "active" character's style properties can be changed using "Ibycus Keyboard Layout Configuration". If you fail to do so, you may experience font size inconsistencies or other text formatting problems.
How it works^
Whenever Ibycus Keyboard Layout is activated, AncientGreek preforms the following checks:
- Styles existence check
- AncientGreek checks whether the "active" and "inactive" character styles exit, and creates them if they are not there.
- Font existence check
- AncientGreek checks whether the font defined for the "active" character style is already installed or not, and if it's not, it prompts the user to proceed with its installation, or to set a different font altogether. This is part of "Ibycus Keyboard Layout Configuration".
- AncientGreek originally sets Alexey Kryukov's "Old Standard TT" as default font for the "active" character style. Furthermore, it includes the font (actually the font family consisting of three files) in its installation, so that it can be installed and used.
- Changing the font can be done at any time from the AncientGreek main window, entry "Ibycus Keyboard Layout", using the "Font Definition" option.
When everything is in order (both the styles and the font are ok), AncientGreek sets the style of any character typed to Ibycus Keyboard Layout "active" character style, effectively changing the font of the character and permitting you to start typing in Ancient Greek.
When the Layout is deactivated, AncientGreek sets the style of any character typed to Ibycus Keyboard Layout "inactive" character style, effectively resetting the font of the character to its default value; that is to your default font, as set in OpenOffice/LibreOffice (Options... / LibreOffice Writer / Basic Fonts (Western) for LibreOffice or Options... / OpenOffice Writer / Basic Fonts (Western) for OpenOffice), or the relevant template settings (in case the document was created based on a template).
Escaping characters is the only part of Ibycus Encoding that is actually using pre-positive accentuation (the modifier key is typed before the character it will modify).
Ibycus Keyboard Layout uses the Backslash ("\") character to denote that an escaped character will follow. In this way, typing "\π" will produce "ϖ".
An AncientGreek specific addition uses the Tilde ("~") character to denote that the existing character on the right of the cursor has to be escaped. For example, typing Tilde ("~") character after the "ἀ" in the word "ἀπό" (e.g. "ἀ~πό"), will convert "π" to "ϖ", resulting in "ἀϖό".
In case such a conversion is not possible, the Tilde ("~") character will be inserted.
Single quote - apostrophe and parenthesis^
Inserting a single quote - apostrophe or a parenthesis right after a letter is not always easy because of the special function of the relevant keys: "'", "`", ")", (". The problem is more obvious when typing after a wovel.
Consider the following situation trying to type δι’ :
Also trying to type τα) :
In order to address this problem, this implementation of "Ibycus Keyboard Layout" accepts escaping as shown in the following table:
|Escaped char||Displayed char|
(open single quote)
(close single quote - apostrophe)
In this way, δι’ and τα) would be typed as follows:
Preserving medial sigma^
When typing a medial sigma before a space or a punctuation mark, the layout changes it to a final sigma. As prof. Pierre A. MacKay has pointed out, this is not always desirable; there needs to be a way of forcing a medial sigma before a space or a punctuation mark.
The original "Ibycus Keyboard Layout" implementation used the sequence "s|" to achieve this, and this is what this implementation uses too.
Typing σ. would be done as follows:
As one can see, typing "|" (Iota Subscript for Ibycus) results in displaying nothing (the key could be considered as a "dead key").
Typing breve, macron and overline ^
Since v. 1.4-rc1 it is possible to type the breve, macron and overline characters, using the following keys:
|Breve (˘)||\u *|
|Metrical breve (⏑)||\u+|
* This is a standard "Ibycus Keyboard Layout" key, existing in previous releases.
There's nothing more to say about the overline character, other thatn it gets easier to manually type Nomina Sacra Expressions. But there's a lot to say about the breve and macron characters.
Combining breve and macron ^
As I am sure you already know, α, ι and υ can either have a breve or a macro sign over them (can either be "μακρά" or "βραχέα"), depending on several rules. The Unicode Standard provides special characters for these and AncientGreek now provides a way to type them.
When a "Iota Subscript (|)" character is typed after a breve (˘⏑) or a macron (¯) character, then:
- If the previous character is an α, ι or υ (and Α, Ι or Υ), the corresponding character will be inserted (ᾰ, Ᾰ, ῐ, Ῐ, ῠ, Ῠ, ᾱ, Ᾱ, ῑ, Ῑ, ῡ or Ῡ).
- In any other case, a combining (also called zero length) breve or macron will be inserted, regardless if the combination is valid or not. For example, you can have a η̆, η̄, ο̄, ω̄, ω̆ and even γ̄, κ̆ and Ρ̆. It's up to the user to make sure the combination is valid.
Let's see an example: the table on the left shows the way to insert iota with breve and the table on the right shows the way to insert eta with macron.
||||ῐ (U+1FD0)|||||η̄ (U+03B7 U+0304 )|
|Inserting a precomposed breve||Inserting a combining macron|
As you can see, in the first case the result is a single character (the character is an already existing Unicode code-point). In the second case, we actually end up with two characters (displayed as one), since the combination does not correspond to a Unicode code-point.
In any case, the sequence is the same: you type a "backslash", a "u" (for breve) or a "dash" (for macron) and then a "vertical bar".
Correction function ^
It has been suggested to me to implement a "correction function" for "Ibycus Keyboard Layout", the way Ralph Hancock's Antioch "correction function" works. So here it is:
This function makes it possible to easily correct typing mistakes relevant to the accentuation and breathing marks of ancient Greek. This is how it works:
The input (the accent or breathing mark typed) is compared to the character that's to the left of the current cursor position (the previous character), and
- If the previous character already contains the "input", it will be removed.
- If the previous character already contains:
- A breathing mark and "input" is a breathing mark, the character's breathing mark will be changed to "input".
- An accentuation mark and "input" is an accentuation mark, the character's accentuation mark will be changed to "input".
- A punctuation mark and "input" is a punctuation mark, the character's punctuation mark will be changed to "input".
- If the previous character does not contain the "input", the character's breathing, accentuation and punctuation marks will be replacded by the "input".
This may be a bit confusing, so here are some examples (you may have to zoom in to see them):
|Previous Char.||Key Pressed||Result|
Due to the complexity of the "correction function" and the length of the substitution table, there may still be errors in the implementation (characters missing or incorrectly substituted). Please do report back to me any such discrepancy you may find.
Undo and Redo Actions ^
Undoing and redoing changes is a vital part of typing. Both of these actions already work with LibreOffice/OpenOffice, but as far as "Ibycus Keyboard Layout" is concerned, retaining a selection after executing the redo or undo action is very annoying, since one has to eliminate this selection (probably by pressing the right arrow key), in order to keep typing.
AncientGreek tries to solve this issue by installing its own way of performing the said actions, by intercepting undo and redo shorcuts (Ctrl-Z and Ctrl-Y on Windows and Linux and ⌘Z and ⌘Y on Mac OS) and eliminating the selection after performing the action.
This behavior is only enabled when "Ibycus Keyboard Layout" is active; otherwise undoing and redoing will operate as originally designed.
Layout Activation ^
Ibycus Keyboard Layout can be activated by:
- typing the Ibycus Keyboard Layout enabling and toggling shortcut.
- the AncientGreek Menu, entry "Ibycus Keyboard Layout".
- the icon on LibreOffice / OpenOffice "Main Toolbar".
- the Main AncientGreek Dialog, entry "Ibycus Keyboard Layout" (see the picture below). The Dialog also provides the way to configure "Ibycus Keyboard Layout" options.
Known Issues ^
- LibreOffice / OpenOffice widgets cannot use the Layout. Since v. 1.4-beta5 the AncientGreek Search and Replace Dialog can be used as an alternative to the built-in "Search" and "Search and Replace" dialogs.
- Under certain circumstances (such as canceling a "Document Close" action or displaying the "Page Preview") the Layout gets disabled. One must use the shortcut or click on the on the "Main Toolbar", or use the "Ibycus Keyboard Layout" entry on "AncientGreek Menu", or use "AncientGreek Main Window" to enable it again.
If you are using the "Modern Greek Ibycus Keyboard Layout Variant", please visit this page.
AncientGreek fully implements the Ibycus Keyboard Layout and extends it as follows:
* These symbols are AncientGreek specific. They do not exist in the original Ibycus Keyboard Layout.
** PUA code point, may not render correctly (depends on the font used), may not correctly haphynate.
Since "a picture is worth a thousand words", here is an image of the layout. It is not supposed to teach one how to use the layout, but it can be used as a guide, a reminder of specific input.
When the layout is active, one can open the image by typing Ctrl-9 (⌘9 on Mac OS).
It should be noted that the image depicts the key configuration of the original layout, before any key customization is done.
Character Insertion dialog^
Ibycus Keyboard Layout is really handy, but it poses a certain difficulty to remember all the key combinations that would produce characters which are "out of the ordinary".
The Character Insertion dialog (shown bellow) comes to help in this respect.
The Character Insertion dialog on Windows 8.1
The dialog can be activated by pressing "Ctrl-8" on Windows and Linux or "⌘8" on Mac OS, given that the layout is active.
The available characters are divided in several groups, so that the dialog size remains within reasonable limits.
Characters encoded in a Unicode PUA are denoted with an asterisk , referring to a warning message that this character may not render correctly.
Clicking on a character button closes the dialog and inserts the corresponding character to the document.
About PUAs (Private User Areas)^
Unicode PUAs (Private User Areas) are ranges of code points that, by definition, will not be assigned characters by the Unicode Consortium. The code points in these areas cannot be considered as standardized characters in Unicode itself.
Many people and institutions have created character collections for the PUA. Some of these private use agreements are published, so other PUA implementers can aim for unused or less used code points to prevent overlaps. Several characters and scripts previously encoded in private use agreements have actually been fully encoded in Unicode, necessitating mappings from the PUA to other Unicode code points.
Some of the more well-known and broadly implemented PUA agreements are maintained by the ConScript Unicode Registry (CSUR), the Medieval Unicode Font Initiative (MUFI), SIL International (formerly known as the Summer Institute of Linguistics) and TITUS (German "Thesaurus Indogermanischer Text- und Sprachmaterialien").
In practice, the correct rendering of a PUA character depends entirely on the font set for this character. If the font implements this character, it will render correctly. If it's not, the program will try to find a suitable substitute (as it always does in this case), but the possibility of failure to do so increases due to the character's definition (within a PUA, that is).