[sword-svn] r252 - trunk/source/data/translit/crosswire
chrislit at crosswire.org
chrislit at crosswire.org
Tue Feb 4 12:49:50 MST 2014
Author: chrislit
Date: 2014-02-04 12:49:50 -0700 (Tue, 04 Feb 2014)
New Revision: 252
Modified:
trunk/source/data/translit/crosswire/LinearB_Latin.txt
Log:
big update for Linear B transliterator
It now works quite well in generating standard transliterations of Linear B and even works fairly well at transliterating Greek transliterated to Latin into Linear B (and thence to Latin that looks like it is transliterated Mycenaean Greek)
Modified: trunk/source/data/translit/crosswire/LinearB_Latin.txt
===================================================================
--- trunk/source/data/translit/crosswire/LinearB_Latin.txt 2014-02-04 01:34:38 UTC (rev 251)
+++ trunk/source/data/translit/crosswire/LinearB_Latin.txt 2014-02-04 19:49:50 UTC (rev 252)
@@ -1,22 +1,45 @@
# ***************************************************************************
# *
-# * Copyright (C) 2002-2013, CrossWire Bible Society
+# * Copyright (C) 2002-2014, CrossWire Bible Society
# * All Rights Reserved.
# *
# ***************************************************************************
# File: LinearB_Latin.txt
# Generated from CLDR
-# Based on transliteration presented in The World's Writing Systems
-# edited by Peter Daniels & William Bright, p. 126
# Linear B-Latin
-:: NFD (NFC);
+
+:: [:Linear_B:];
+:: (NFC);
+
+$consonant = [dhkmnpqrstwzj];
+$vowel = [aeiou];
+
+# add a hyphen between Linear B signs
+([[:Linear_B:]&[:L:]])([[:Linear_B:]&[:L:]])>|$1\-$2;
+
+# Real mappings, in reverse order of Latin length
𐁃<>dwe;
𐁄<>dwo;
𐁅<>nwa;
+𐁆<>phu;
𐁇<>pte;
+𐁈<>rja;
+𐁉<>rai;
+𐁊<>rjo;
+𐁋<>tja;
+
𐁌<>twe;
𐁍<>two;
+
+# Remaining instances of h[^a] should become k
+|k<h}[^a];
+
+# Break consonant clusters by copying vowels
+|$1$5$2$5$3$5$4$5<($consonant)($consonant)($consonant)($consonant)($vowel);
+|$1$4$2$4$3$4<($consonant)($consonant)($consonant)($vowel);
+|$1$3$2$3<($consonant)($consonant)($vowel);
+
𐀅<>da;
𐀆<>de;
𐀇<>di;
@@ -72,20 +95,18 @@
𐀼<>za;
𐀽<>ze;
𐀿<>zo;
+𐁀<>ha;
+𐁁<>ai;
𐁂<>au;
-𐁆>pu;
-𐁈>ra;
-𐁉>ra;
-𐁊>ro;
-𐁋>ta;
𐀀<>a;
𐀁<>e;
𐀂<>i;
𐀃<>o;
𐀄<>u;
-𐁀>a;
-𐁁>a;
+
+# completeness mappings for non-syllabic Latin
𐀅<d;
+𐁀<h;
𐀊<j;
𐀏<k;
𐀔<m;
@@ -97,5 +118,48 @@
𐀲<t;
𐀷<w;
𐀼<z;
+
+# Syncronize
+::Null;
+
+# eliminate doubled consonants
+|d<dd+;
+|j<jj+;
+|k<kk+;
+|m<mm+;
+|n<nn+;
+|p<pp+;
+|q<qq+;
+|r<rr+;
+|s<ss+;
+|t<tt+;
+|w<ww+;
+|z<zz+;
+
+# eliminate word-final Latin consonants
+< $consonant+ } [:^L:];
+
+# Syncronize
+::Null;
+
+# eliminate all Greek diacritics that might reasonably appear in transliteration
+< [̀́̂̃̄̆̈̓̔͂̓̈́];
+|i < ͅ;
+
+# eliminate h after consonants, except p
+< [bcdfghjklmnqrstvwxz] { h+;
+
+# completeness mappings (not covered by the cited reference)
+|p<b;
+|k<c;
+|w<f;
+|k<g;
+|k<h}[^au];
+|r<l;
+|w<v;
+|u<y;
+|ks<x;
+
+:: (NFD);
:: (lower);
-:: NFC (NFD);
+:: ([[:Latin:][̀́̂̃̄̆̈̓̔͂̓̈́ͅ]]);
More information about the sword-cvs
mailing list