5. SERA Escape Sequences

The core of SERA will always be its transliteration definition for the Fidel syllabary. SERA provides ``escapes'' or ``switches'' so that changes of language and scripts can be signaled to a reader with out requiring special software to read the document. Special purpose escapes are also provided so that applications may communicate graphic elements and processing directives in an ASCII document.

Software developers may wish to apply SERA's transliteration definition and forgo the escape specifications for their own proprietary system. This approach presents no complications when only the proprietary environment is used. The escape mechanism provided in SERA is then recommended when content is exported to simple text files. SERA transliteration applied in HTML documents, for example, is one such document type where an alternative escape system is available.

The backslash character then is chosen for escapes in SERA as it is in agreement with the existing conventions of Unix, LA/TEX, C, and other programming languages.


5.1. Bilingual Escapes

SERA's traditional and most frequently used escape. It serves the purpose of denoting language changes simply and with minimal intrusion in a text segment:
    \  Change to next language of the defined primary-secondary pair
       (see Multilingual Escapes).  When followed by a blank space `` '',
       the language toggle occurs and the space is deleted.
In Ethiopic Text Zones Only

Escapes for Latin (English) punctuation are offered for convenience when one or more Latin punctuations are desired in Ethiopic text. Any number of punctuations following \ will be be converted into Latin when used in Ethiopic text regions. This is a single rule but we can specify some examples now for clarity:

    \,     Latin Comma
    \;     Latin Semicolon
    \:     Latin Colon
    \.     Latin Full Stop
    \'     Latin Apostrophe
    \`     Latin Backquote
    \\     Latin BackSlash
    \:;'.  Transcribes Latin punctuations in list following \
           The list may be of length 1 (above) or greater.


5.2. Special Purpose Escapes

Special purpose escapes initiate with \~ and follow with a request identifier that applications will interpret. The intention of special purpose escapes is that they will be used primarily by applications to communicate text at the ASCII level. It should be the exceptional case that users would ever need to write this class of escapes by hand -but simply done when necessary.
  \~x     If ``x'' is defined in the application using SERA, the appropriate
          event occurs.  Otherwise the escape is ignored.  It is left to
          software houses to recognize each others' special purpose escape
          sequences and provide filters.  \~ is recommended as a means to
          denote in ASCII the nonstandard characters and glyphs of a font set.
          If ``x'' is white space \~ is treated as a punctuation escape.

  \~lang  Change to language and script of ``lang'' when ``lang'' is an ISO-639 
          2 or 3 character language name. (see Multilingual Escapes).

  \~!     The ``Verbatim Mode Toggle''.  The switch turns the mode on-off
          treating all text as one script until the closing \! .
          This allows extended use of \ and \~ without the
          requirement for \\ and \\~ but at the cost of using only
          one script within the text region. 
Default Setting Escapes Recognized by Mule
      \~`:    Use : for Ge'ez Wordspace `: (The Default if Unspecified)

      \~-:    Use : for Ge'ez Colon -:

      \~?     Use  ? for Ge'ez Stylized Question Mark  (The Default)
              Use `? for Ge'ez 3-Dot Question Mark     (The Default)

      \~`|    Use  ? for Ge'ez 3-Dot Question Mark
              Use `? for Ge'ez Stylized Question Mark
See also Technical Aspects.


5.3. Multilingual Escapes

It is assumed that a document will be written primarily in two languages -which may be written in one or two scripts. The regular or bilingual script escape, ``\'' , always serves the two primary languages in the document. After switching to a third language, ``\'' will indicate a return to the first of the two major modes.

SERA applies the ISO 639 2 character and 3 character language names for multilingualism. The principle is identical to that adopted in HTML 3.0. The language name is then simply appended to the special purpose escape ``\~''.

Example Usage:

    \~amh~eng   this is amharic        (Set Primary/Secondary)
    \~tir       this is tigrigna       (New Third Language)
    \           this is amharic        (Return To Primary)
    \           this is english        (Secondary)
    \~ar~gz     this is arabic         (Reset Primary/Secondary)
    \           this is ge'ez          (Secondary)