PNG  IHDRX cHRMz&u0`:pQ<bKGD pHYsodtIME MeqIDATxw]Wug^Qd˶ 6`!N:!@xI~)%7%@Bh&`lnjVF29gΨ4E$|>cɚ{gk= %,a KX%,a KX%,a KX%,a KX%,a KX%,a KX%, b` ǟzeאfp]<!SJmɤY޲ڿ,%c ~ع9VH.!Ͳz&QynֺTkRR.BLHi٪:l;@(!MԴ=žI,:o&N'Kù\vRmJ雵֫AWic H@" !: Cé||]k-Ha oݜ:y F())u]aG7*JV@J415p=sZH!=!DRʯvɱh~V\}v/GKY$n]"X"}t@ xS76^[bw4dsce)2dU0 CkMa-U5tvLƀ~mlMwfGE/-]7XAƟ`׮g ewxwC4\[~7@O-Q( a*XGƒ{ ՟}$_y3tĐƤatgvێi|K=uVyrŲlLӪuܿzwk$m87k( `múcE)"@rK( z4$D; 2kW=Xb$V[Ru819קR~qloѱDyįݎ*mxw]y5e4K@ЃI0A D@"BDk_)N\8͜9dz"fK0zɿvM /.:2O{ Nb=M=7>??Zuo32 DLD@D| &+֎C #B8ַ`bOb $D#ͮҪtx]%`ES`Ru[=¾!@Od37LJ0!OIR4m]GZRJu$‡c=%~s@6SKy?CeIh:[vR@Lh | (BhAMy=݃  G"'wzn޺~8ԽSh ~T*A:xR[ܹ?X[uKL_=fDȊ؂p0}7=D$Ekq!/t.*2ʼnDbŞ}DijYaȲ(""6HA;:LzxQ‘(SQQ}*PL*fc\s `/d'QXW, e`#kPGZuŞuO{{wm[&NBTiiI0bukcA9<4@SӊH*؎4U/'2U5.(9JuDfrޱtycU%j(:RUbArLֺN)udA':uGQN"-"Is.*+k@ `Ojs@yU/ H:l;@yyTn}_yw!VkRJ4P)~y#)r,D =ě"Q]ci'%HI4ZL0"MJy 8A{ aN<8D"1#IJi >XjX֔#@>-{vN!8tRݻ^)N_╗FJEk]CT՟ YP:_|H1@ CBk]yKYp|og?*dGvzنzӴzjֺNkC~AbZƷ`.H)=!QͷVTT(| u78y֮}|[8-Vjp%2JPk[}ԉaH8Wpqhwr:vWª<}l77_~{s۴V+RCģ%WRZ\AqHifɤL36: #F:p]Bq/z{0CU6ݳEv_^k7'>sq*+kH%a`0ԣisqにtү04gVgW΂iJiS'3w.w}l6MC2uԯ|>JF5`fV5m`Y**Db1FKNttu]4ccsQNnex/87+}xaUW9y>ͯ骵G{䩓Գ3+vU}~jJ.NFRD7<aJDB1#ҳgSb,+CS?/ VG J?|?,2#M9}B)MiE+G`-wo߫V`fio(}S^4e~V4bHOYb"b#E)dda:'?}׮4繏`{7Z"uny-?ǹ;0MKx{:_pÚmFמ:F " .LFQLG)Q8qN q¯¯3wOvxDb\. BKD9_NN &L:4D{mm o^tֽ:q!ƥ}K+<"m78N< ywsard5+вz~mnG)=}lYݧNj'QJS{S :UYS-952?&O-:W}(!6Mk4+>A>j+i|<<|;ر^߉=HE|V#F)Emm#}/"y GII웻Jі94+v뾧xu~5C95~ūH>c@덉pʃ1/4-A2G%7>m;–Y,cyyaln" ?ƻ!ʪ<{~h~i y.zZB̃/,雋SiC/JFMmBH&&FAbϓO^tubbb_hZ{_QZ-sύodFgO(6]TJA˯#`۶ɟ( %$&+V'~hiYy>922 Wp74Zkq+Ovn錄c>8~GqܲcWꂎz@"1A.}T)uiW4="jJ2W7mU/N0gcqܗOO}?9/wìXžΏ0 >֩(V^Rh32!Hj5`;O28؇2#ݕf3 ?sJd8NJ@7O0 b־?lldщ̡&|9C.8RTWwxWy46ah嘦mh٤&l zCy!PY?: CJyв]dm4ǜҐR޻RլhX{FƯanшQI@x' ao(kUUuxW_Ñ줮[w8 FRJ(8˼)_mQ _!RJhm=!cVmm ?sFOnll6Qk}alY}; "baӌ~M0w,Ggw2W:G/k2%R,_=u`WU R.9T"v,<\Ik޽/2110Ӿxc0gyC&Ny޽JҢrV6N ``یeA16"J³+Rj*;BϜkZPJaÍ<Jyw:NP8/D$ 011z֊Ⱳ3ι֘k1V_"h!JPIΣ'ɜ* aEAd:ݺ>y<}Lp&PlRfTb1]o .2EW\ͮ]38؋rTJsǏP@芎sF\> P^+dYJLbJ C-xϐn> ι$nj,;Ǖa FU *择|h ~izť3ᤓ`K'-f tL7JK+vf2)V'-sFuB4i+m+@My=O҈0"|Yxoj,3]:cо3 $#uŘ%Y"y죯LebqtҢVzq¼X)~>4L׶m~[1_k?kxֺQ`\ |ٛY4Ѯr!)N9{56(iNq}O()Em]=F&u?$HypWUeB\k]JɩSع9 Zqg4ZĊo oMcjZBU]B\TUd34ݝ~:7ڶSUsB0Z3srx 7`:5xcx !qZA!;%͚7&P H<WL!džOb5kF)xor^aujƍ7 Ǡ8/p^(L>ὴ-B,{ۇWzֺ^k]3\EE@7>lYBȝR.oHnXO/}sB|.i@ɥDB4tcm,@ӣgdtJ!lH$_vN166L__'Z)y&kH;:,Y7=J 9cG) V\hjiE;gya~%ks_nC~Er er)muuMg2;֫R)Md) ,¶ 2-wr#F7<-BBn~_(o=KO㭇[Xv eN_SMgSҐ BS헃D%g_N:/pe -wkG*9yYSZS.9cREL !k}<4_Xs#FmҶ:7R$i,fi!~' # !6/S6y@kZkZcX)%5V4P]VGYq%H1!;e1MV<!ϐHO021Dp= HMs~~a)ަu7G^];git!Frl]H/L$=AeUvZE4P\.,xi {-~p?2b#amXAHq)MWǾI_r`S Hz&|{ +ʖ_= (YS(_g0a03M`I&'9vl?MM+m~}*xT۲(fY*V4x@29s{DaY"toGNTO+xCAO~4Ϳ;p`Ѫ:>Ҵ7K 3}+0 387x\)a"/E>qpWB=1 ¨"MP(\xp߫́A3+J] n[ʼnӼaTbZUWb={~2ooKױӰp(CS\S筐R*JغV&&"FA}J>G֐p1ٸbk7 ŘH$JoN <8s^yk_[;gy-;߉DV{c B yce% aJhDȶ 2IdйIB/^n0tNtџdcKj4϶v~- CBcgqx9= PJ) dMsjpYB] GD4RDWX +h{y`,3ꊕ$`zj*N^TP4L:Iz9~6s) Ga:?y*J~?OrMwP\](21sZUD ?ܟQ5Q%ggW6QdO+\@ ̪X'GxN @'4=ˋ+*VwN ne_|(/BDfj5(Dq<*tNt1х!MV.C0 32b#?n0pzj#!38}޴o1KovCJ`8ŗ_"]] rDUy޲@ Ȗ-;xџ'^Y`zEd?0„ DAL18IS]VGq\4o !swV7ˣι%4FѮ~}6)OgS[~Q vcYbL!wG3 7띸*E Pql8=jT\꘿I(z<[6OrR8ºC~ډ]=rNl[g|v TMTղb-o}OrP^Q]<98S¤!k)G(Vkwyqyr޽Nv`N/e p/~NAOk \I:G6]4+K;j$R:Mi #*[AȚT,ʰ,;N{HZTGMoּy) ]%dHء9Պ䠬|<45,\=[bƟ8QXeB3- &dҩ^{>/86bXmZ]]yޚN[(WAHL$YAgDKp=5GHjU&99v簪C0vygln*P)9^͞}lMuiH!̍#DoRBn9l@ xA/_v=ȺT{7Yt2N"4!YN`ae >Q<XMydEB`VU}u]嫇.%e^ánE87Mu\t`cP=AD/G)sI"@MP;)]%fH9'FNsj1pVhY&9=0pfuJ&gޤx+k:!r˭wkl03׼Ku C &ѓYt{.O.zҏ z}/tf_wEp2gvX)GN#I ݭ߽v/ .& и(ZF{e"=V!{zW`, ]+LGz"(UJp|j( #V4, 8B 0 9OkRrlɱl94)'VH9=9W|>PS['G(*I1==C<5"Pg+x'K5EMd؞Af8lG ?D FtoB[je?{k3zQ vZ;%Ɠ,]E>KZ+T/ EJxOZ1i #T<@ I}q9/t'zi(EMqw`mYkU6;[t4DPeckeM;H}_g pMww}k6#H㶏+b8雡Sxp)&C $@'b,fPߑt$RbJ'vznuS ~8='72_`{q纶|Q)Xk}cPz9p7O:'|G~8wx(a 0QCko|0ASD>Ip=4Q, d|F8RcU"/KM opKle M3#i0c%<7׿p&pZq[TR"BpqauIp$ 8~Ĩ!8Սx\ւdT>>Z40ks7 z2IQ}ItԀ<-%S⍤};zIb$I 5K}Q͙D8UguWE$Jh )cu4N tZl+[]M4k8֦Zeq֮M7uIqG 1==tLtR,ƜSrHYt&QP윯Lg' I,3@P'}'R˪e/%-Auv·ñ\> vDJzlӾNv5:|K/Jb6KI9)Zh*ZAi`?S {aiVDԲuy5W7pWeQJk֤#5&V<̺@/GH?^τZL|IJNvI:'P=Ϛt"¨=cud S Q.Ki0 !cJy;LJR;G{BJy޺[^8fK6)=yʊ+(k|&xQ2`L?Ȓ2@Mf 0C`6-%pKpm')c$׻K5[J*U[/#hH!6acB JA _|uMvDyk y)6OPYjœ50VT K}cǻP[ $:]4MEA.y)|B)cf-A?(e|lɉ#P9V)[9t.EiQPDѠ3ϴ;E:+Օ t ȥ~|_N2,ZJLt4! %ա]u {+=p.GhNcŞQI?Nd'yeh n7zi1DB)1S | S#ًZs2|Ɛy$F SxeX{7Vl.Src3E℃Q>b6G ўYCmtկ~=K0f(=LrAS GN'ɹ9<\!a`)֕y[uՍ[09` 9 +57ts6}b4{oqd+J5fa/,97J#6yν99mRWxJyѡyu_TJc`~W>l^q#Ts#2"nD1%fS)FU w{ܯ R{ ˎ󅃏џDsZSQS;LV;7 Od1&1n$ N /.q3~eNɪ]E#oM~}v֯FڦwyZ=<<>Xo稯lfMFV6p02|*=tV!c~]fa5Y^Q_WN|Vs 0ҘދU97OI'N2'8N֭fgg-}V%y]U4 峧p*91#9U kCac_AFңĪy뚇Y_AiuYyTTYЗ-(!JFLt›17uTozc. S;7A&&<ԋ5y;Ro+:' *eYJkWR[@F %SHWP 72k4 qLd'J "zB6{AC0ƁA6U.'F3:Ȅ(9ΜL;D]m8ڥ9}dU "v!;*13Rg^fJyShyy5auA?ɩGHRjo^]׽S)Fm\toy 4WQS@mE#%5ʈfFYDX ~D5Ϡ9tE9So_aU4?Ѽm%&c{n>.KW1Tlb}:j uGi(JgcYj0qn+>) %\!4{LaJso d||u//P_y7iRJ߬nHOy) l+@$($VFIQ9%EeKʈU. ia&FY̒mZ=)+qqoQn >L!qCiDB;Y<%} OgBxB!ØuG)WG9y(Ą{_yesuZmZZey'Wg#C~1Cev@0D $a@˲(.._GimA:uyw֬%;@!JkQVM_Ow:P.s\)ot- ˹"`B,e CRtaEUP<0'}r3[>?G8xU~Nqu;Wm8\RIkբ^5@k+5(By'L&'gBJ3ݶ!/㮻w҅ yqPWUg<e"Qy*167΃sJ\oz]T*UQ<\FԎ`HaNmڜ6DysCask8wP8y9``GJ9lF\G g's Nn͵MLN֪u$| /|7=]O)6s !ĴAKh]q_ap $HH'\1jB^s\|- W1:=6lJBqjY^LsPk""`]w)󭃈,(HC ?䔨Y$Sʣ{4Z+0NvQkhol6C.婧/u]FwiVjZka&%6\F*Ny#8O,22+|Db~d ~Çwc N:FuuCe&oZ(l;@ee-+Wn`44AMK➝2BRՈt7g*1gph9N) *"TF*R(#'88pm=}X]u[i7bEc|\~EMn}P瘊J)K.0i1M6=7'_\kaZ(Th{K*GJyytw"IO-PWJk)..axӝ47"89Cc7ĐBiZx 7m!fy|ϿF9CbȩV 9V-՛^pV̌ɄS#Bv4-@]Vxt-Z, &ֺ*diؠ2^VXbs֔Ìl.jQ]Y[47gj=幽ex)A0ip׳ W2[ᎇhuE^~q흙L} #-b۸oFJ_QP3r6jr+"nfzRJTUqoaۍ /$d8Mx'ݓ= OՃ| )$2mcM*cЙj}f };n YG w0Ia!1Q.oYfr]DyISaP}"dIӗթO67jqR ҊƐƈaɤGG|h;t]䗖oSv|iZqX)oalv;۩meEJ\!8=$4QU4Xo&VEĊ YS^E#d,yX_> ۘ-e\ "Wa6uLĜZi`aD9.% w~mB(02G[6y.773a7 /=o7D)$Z 66 $bY^\CuP. (x'"J60׿Y:Oi;F{w佩b+\Yi`TDWa~|VH)8q/=9!g߆2Y)?ND)%?Ǐ`k/sn:;O299yB=a[Ng 3˲N}vLNy;*?x?~L&=xyӴ~}q{qE*IQ^^ͧvü{Huu=R|>JyUlZV, B~/YF!Y\u_ݼF{_C)LD]m {H 0ihhadd nUkf3oٺCvE\)QJi+֥@tDJkB$1!Đr0XQ|q?d2) Ӣ_}qv-< FŊ߫%roppVBwü~JidY4:}L6M7f٬F "?71<2#?Jyy4뷢<_a7_=Q E=S1И/9{+93֮E{ǂw{))?maÆm(uLE#lïZ  ~d];+]h j?!|$F}*"4(v'8s<ŏUkm7^7no1w2ؗ}TrͿEk>p'8OB7d7R(A 9.*Mi^ͳ; eeUwS+C)uO@ =Sy]` }l8^ZzRXj[^iUɺ$tj))<sbDJfg=Pk_{xaKo1:-uyG0M ԃ\0Lvuy'ȱc2Ji AdyVgVh!{]/&}}ċJ#%d !+87<;qN޼Nفl|1N:8ya  8}k¾+-$4FiZYÔXk*I&'@iI99)HSh4+2G:tGhS^繿 Kتm0 вDk}֚+QT4;sC}rՅE,8CX-e~>G&'9xpW,%Fh,Ry56Y–hW-(v_,? ; qrBk4-V7HQ;ˇ^Gv1JVV%,ik;D_W!))+BoS4QsTM;gt+ndS-~:11Sgv!0qRVh!"Ȋ(̦Yl.]PQWgٳE'`%W1{ndΗBk|Ž7ʒR~,lnoa&:ü$ 3<a[CBݮwt"o\ePJ=Hz"_c^Z.#ˆ*x z̝grY]tdkP*:97YľXyBkD4N.C_[;F9`8& !AMO c `@BA& Ost\-\NX+Xp < !bj3C&QL+*&kAQ=04}cC!9~820G'PC9xa!w&bo_1 Sw"ܱ V )Yl3+ס2KoXOx]"`^WOy :3GO0g;%Yv㐫(R/r (s } u B &FeYZh0y> =2<Ϟc/ -u= c&׭,.0"g"7 6T!vl#sc>{u/Oh Bᾈ)۴74]x7 gMӒ"d]U)}" v4co[ ɡs 5Gg=XR14?5A}D "b{0$L .\4y{_fe:kVS\\O]c^W52LSBDM! C3Dhr̦RtArx4&agaN3Cf<Ԉp4~ B'"1@.b_/xQ} _߃҉/gٓ2Qkqp0շpZ2fԫYz< 4L.Cyυι1t@鎫Fe sYfsF}^ V}N<_`p)alٶ "(XEAVZ<)2},:Ir*#m_YӼ R%a||EƼIJ,,+f"96r/}0jE/)s)cjW#w'Sʯ5<66lj$a~3Kʛy 2:cZ:Yh))+a߭K::N,Q F'qB]={.]h85C9cr=}*rk?vwV렵ٸW Rs%}rNAkDv|uFLBkWY YkX מ|)1!$#3%y?pF<@<Rr0}: }\J [5FRxY<9"SQdE(Q*Qʻ)q1E0B_O24[U'],lOb ]~WjHޏTQ5Syu wq)xnw8~)c 쫬gٲߠ H% k5dƝk> kEj,0% b"vi2Wس_CuK)K{n|>t{P1򨾜j>'kEkƗBg*H%'_aY6Bn!TL&ɌOb{c`'d^{t\i^[uɐ[}q0lM˕G:‚4kb祔c^:?bpg… +37stH:0}en6x˟%/<]BL&* 5&fK9Mq)/iyqtA%kUe[ڛKN]Ě^,"`/ s[EQQm?|XJ߅92m]G.E΃ח U*Cn.j_)Tѧj̿30ڇ!A0=͜ar I3$C^-9#|pk!)?7.x9 @OO;WƝZBFU keZ75F6Tc6"ZȚs2y/1 ʵ:u4xa`C>6Rb/Yм)^=+~uRd`/|_8xbB0?Ft||Z\##|K 0>>zxv8۴吅q 8ĥ)"6>~\8:qM}#͚'ĉ#p\׶ l#bA?)|g g9|8jP(cr,BwV (WliVxxᡁ@0Okn;ɥh$_ckCgriv}>=wGzβ KkBɛ[˪ !J)h&k2%07δt}!d<9;I&0wV/ v 0<H}L&8ob%Hi|޶o&h1L|u֦y~󛱢8fٲUsւ)0oiFx2}X[zVYr_;N(w]_4B@OanC?gĦx>мgx>ΛToZoOMp>40>V Oy V9iq!4 LN,ˢu{jsz]|"R޻&'ƚ{53ўFu(<٪9:΋]B;)B>1::8;~)Yt|0(pw2N%&X,URBK)3\zz&}ax4;ǟ(tLNg{N|Ǽ\G#C9g$^\}p?556]/RP.90 k,U8/u776s ʪ_01چ|\N 0VV*3H鴃J7iI!wG_^ypl}r*jɤSR 5QN@ iZ#1ٰy;_\3\BQQ x:WJv츟ٯ$"@6 S#qe딇(/P( Dy~TOϻ<4:-+F`0||;Xl-"uw$Цi󼕝mKʩorz"mϺ$F:~E'ҐvD\y?Rr8_He@ e~O,T.(ފR*cY^m|cVR[8 JҡSm!ΆԨb)RHG{?MpqrmN>߶Y)\p,d#xۆWY*,l6]v0h15M˙MS8+EdI='LBJIH7_9{Caз*Lq,dt >+~ّeʏ?xԕ4bBAŚjﵫ!'\Ը$WNvKO}ӽmSşذqsOy?\[,d@'73'j%kOe`1.g2"e =YIzS2|zŐƄa\U,dP;jhhhaxǶ?КZ՚.q SE+XrbOu%\GتX(H,N^~]JyEZQKceTQ]VGYqnah;y$cQahT&QPZ*iZ8UQQM.qo/T\7X"u?Mttl2Xq(IoW{R^ ux*SYJ! 4S.Jy~ BROS[V|žKNɛP(L6V^|cR7i7nZW1Fd@ Ara{詑|(T*dN]Ko?s=@ |_EvF]׍kR)eBJc" MUUbY6`~V޴dJKß&~'d3i WWWWWW
Current Directory: /usr/share/emacs/24.3/lisp/language
Viewing File: /usr/share/emacs/24.3/lisp/language/lao-util.elc
;ELC ;;; Compiled by mockbuild@buildfarm01-new.corp.cloudlinux.com on Tue Nov 11 12:56:12 2025 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/language/lao-util.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file contains utf-8 non-ASCII characters, ;;; and so cannot be loaded into Emacs 22 or earlier. (and (boundp 'emacs-version) (< (aref emacs-version (1- (length emacs-version))) ?A) (string-lessp emacs-version "23") (error "`%s' was compiled for Emacs 23 or later" #$)) ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (defconst lao-category-table (make-category-table)) (byte-code "\305\306\307#\210\305\310\311#\210\305\312\313#\210\305\314\315#\210\316\317\n\203\200\n@\nA @ A@ \320=\203<\321\f\306#\210\202f \322>\203K\321\f\312#\210\202f \323=\203Z\321\f\310#\210\202f \324=\203f\321\f\314#\210\325\f\326 #\210\325\f\327\330 8#\210\325\f\331\332 8#\210*\202*\317\207" [lao-category-table elm l ptype char define-category 99 "Lao consonant" 115 "Lao semi-vowel" 118 "Lao upper/lower vowel" 116 "Lao tone" ((3713 consonant "LETTER KOR KAI'" "CHICKEN") (3714 consonant "LETTER KHOR KHAI'" "EGG") (3715 invalid nil) (3716 consonant "LETTER QHOR QHWARGN" "BUFFALO") (3717 invalid nil) (32 invalid nil) (3719 consonant "LETTER NGOR NGUU" "SNAKE") (3720 consonant "LETTER JOR JUA" "BUDDHIST NOVICE") (3721 invalid nil) (3722 consonant "LETTER XOR X\"ARNG" "ELEPHANT") (3723 invalid nil) (3724 invalid nil) (3725 consonant "LETTER YOR YUNG" "MOSQUITO") (3726 invalid nil) (3726 invalid nil) (3726 invalid nil) (3726 invalid nil) (3726 invalid nil) (3726 invalid nil) (3732 consonant "LETTER DOR DANG" "NOSE") (3733 consonant "LETTER TOR TAR" "EYE") (3734 consonant "LETTER THOR THUNG" "TO ASK,QUESTION") (3735 consonant "LETTER DHOR DHARM" "FLAG") (3736 invalid nil) (3737 consonant "LETTER NOR NOK" "BIRD") (3738 consonant "LETTER BOR BED" "FISHHOOK") (3739 consonant "LETTER POR PAR" "FISH") (3740 consonant "LETTER HPOR HPER\"" "BEE") (3741 consonant "LETTER FHOR FHAR" "WALL") (3742 consonant "LETTER PHOR PHUU" "MOUNTAIN") (3743 consonant "LETTER FOR FAI" "FIRE") (3744 invalid nil) (3745 consonant "LETTER MOR MAR\"" "HORSE") (3746 consonant "LETTER GNOR GNAR" "MEDICINE") (3747 consonant "LETTER ROR ROD" "CAR") (3748 invalid nil) (3749 consonant "LETTER LOR LIING" "MONKEY") (3750 invalid nil) (3751 consonant "LETTER WOR WII" "HAND FAN") (3752 invalid nil) (3753 invalid nil) (3754 consonant "LETTER SOR SEA" "TIGER") (3755 consonant "LETTER HHOR HHAI" "JAR") (3756 invalid nil) (3757 consonant "LETTER OR OOW" "TAKE") (3758 consonant "LETTER HOR HEA" "BOAT") (3759 special "ELLIPSIS") (3760 vowel-base "VOWEL SIGN SARA A") (3761 vowel-upper "VOWEL SIGN MAI KAN") (3762 vowel-base "VOWEL SIGN SARA AR") (3763 vowel-base "VOWEL SIGN SARA AM") (3764 vowel-upper "VOWEL SIGN SARA I") (3765 vowel-upper "VOWEL SIGN SARA II") (3766 vowel-upper "VOWEL SIGN SARA EU") (3767 vowel-upper "VOWEL SIGN SARA UR") (3768 vowel-lower "VOWEL SIGN SARA U") (3769 vowel-lower "VOWEL SIGN SARA UU") (3770 invalid nil) (3771 vowel-upper "VOWEL SIGN MAI KONG") (3772 semivowel-lower "SEMIVOWEL SIGN LO") (3773 vowel-base "SEMIVOWEL SIGN SARA IA") (3774 invalid nil) (3775 invalid nil) (3776 vowel-base "VOWEL SIGN SARA EE") (3777 vowel-base "VOWEL SIGN SARA AA") (3778 vowel-base "VOWEL SIGN SARA OO") (3779 vowel-base "VOWEL SIGN SARA EI MAI MUAN\"") (3780 vowel-base "VOWEL SIGN SARA AI MAI MAY") (3781 invalid nil) (3782 special "KO LA (REPETITION)") (3783 invalid nil) (3784 tone "TONE MAI EK") (3785 tone "TONE MAI THO") (3786 tone "TONE MAI TI") (3787 tone "TONE MAI JADTAWAR") (3788 tone "CANCELLATION MARK") (3789 vowel-upper "VOWEL SIGN SARA OR") (3790 invalid nil) (3791 invalid nil) (3792 special "DIGIT ZERO") (3793 special "DIGIT ONE") (3794 special "DIGIT TWO") (3795 special "DIGIT THREE") (3796 special "DIGIT FOUR") (3797 special "DIGIT FIVE") (3798 special "DIGIT SIX") (3799 special "DIGIT SEVEN") (3800 special "DIGIT EIGHT") (3801 special "DIGIT NINE") (3802 invalid nil) (3803 invalid nil) (3804 consonant "LETTER NHOR NHUU" "MOUSE") (3805 consonant "LETTER MHOR MHAR" "DOG") (3806 invalid nil)) nil consonant modify-category-entry (vowel-upper vowel-lower) semivowel-lower tone put-char-code-property phonetic-type name 2 meaning 3] 5) #@55 Regular expression matching a Lao composite sequence. (defvar lao-composition-pattern "\\cc\\(\\ct\\|\\cv\\ct?\\|\\cs\\(\\ct\\|\\cv\\ct?\\)?\\)" (#$ . 4310)) (defalias 'lao-compose-string #[(str) "\306 p\307\216\310\n!\210\311\312\f #\211\203$\313 \311\225#\210\311\225\202 ) +\207" [#1=#:old-buffer #2=#:old-table lao-category-table idx lao-composition-pattern str category-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-category-table] 2)) set-category-table 0 string-match compose-string] 4]) (defconst lao-transcription-consonant-alist (sort '(("k" . "ກ") ("kh" . "ຂ") ("qh" . "ຄ") ("ng" . "ງ") ("j" . "ຈ") ("s" . "ສ") ("x" . "ຊ") ("y" . "ຍ") ("d" . "ດ") ("t" . "ຕ") ("th" . "ຖ") ("dh" . "ທ") ("n" . "ນ") ("b" . "ບ") ("p" . "ປ") ("hp" . "ຜ") ("fh" . "ຝ") ("ph" . "ພ") ("f" . "ຟ") ("m" . "ມ") ("gn" . "ຢ") ("l" . "ລ") ("r" . "ຣ") ("v" . "ວ") ("w" . "ວ") ("hh" . "ຫ") ("O" . "ອ") ("h" . "ຮ") ("nh" . "ໜ") ("mh" . "ໝ") ("lh" . ["ຫຼ"]) ("ngh" . ["ຫງ"]) ("yh" . ["ຫຽ"]) ("wh" . ["ຫວ"]) ("hl" . ["ຫລ"]) ("hy" . ["ຫຍ"]) ("hn" . ["ຫນ"]) ("hm" . ["ຫມ"])) #[(x y) "@G @GV\207" [x y] 2])) (defconst lao-transcription-semi-vowel-alist '(("r" . "ຼ"))) (defconst lao-transcription-vowel-alist (sort '(("a" . "ະ") ("ar" . "າ") ("i" . "ິ") ("ii" . "ີ") ("eu" . "ຶ") ("ur" . "ື") ("u" . "ຸ") ("uu" . "ູ") ("e" . ["ເະ"]) ("ee" . "ເ") ("ae" . ["ແະ"]) ("aa" . "ແ") ("o" . ["ໂະ"]) ("oo" . "ໂ") ("oe" . ["ເາະ"]) ("or" . "ໍ") ("er" . ["ເິ"]) ("ir" . ["ເີ"]) ("ua" . ["ົວະ"]) ("uaa" . ["ົວ"]) ("ie" . ["ເັຽະ"]) ("ia" . ["ເັຽ"]) ("ea" . ["ເຶອ"]) ("eaa" . ["ເືອ"]) ("ai" . "ໄ") ("ei" . "ໃ") ("ao" . ["ເົາ"]) ("aM" . "ຳ")) #[(x y) "@G @GV\207" [x y] 2])) (defconst lao-transcription-maa-sakod-alist '(("k" . "ກ") ("g" . "ງ") ("y" . "ຍ") ("d" . "ດ") ("n" . "ນ") ("b" . "ບ") ("m" . "ມ") ("v" . "ວ") ("w" . "ວ"))) (defconst lao-transcription-tone-alist '(("'" . "່") ("\"" . "້") ("^" . "໊") ("+" . "໋") ("~" . "໌"))) (defconst lao-transcription-punctuation-alist '(("\\0" . "໐") ("\\1" . "໑") ("\\2" . "໒") ("\\3" . "໓") ("\\4" . "໔") ("\\5" . "໕") ("\\6" . "໖") ("\\7" . "໗") ("\\8" . "໘") ("\\9" . "໙") ("\\\\" . "ໆ") ("\\$" . "ຯ"))) #@61 Regexp of Roman transcription pattern for one Lao syllable. (defconst lao-transcription-pattern (byte-code "\306\307\310\311#\312\307\310 \311#\313\307\310\n\311#\312\307\310 \311#\314\307\315\f\311#\316\307\317 \311#\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" mapconcat car "\\|" "\\)\\(" "\\)?\\(\\(" "\\)?\\(" #[(x) "\301@!\207" [x regexp-quote] 2] "\\)?\\)?\\|" #[(x) "\301@!\207" [x regexp-quote] 2]] 15) (#$ . 6695)) #@61 Regexp of Roman transcription pattern for one Lao syllable. (defconst lao-transcription-pattern (byte-code "\306\307\310\311\"!\312\307\310\311 \"!\313\307\310\311\n\"!\312\307\310\311 \"!\314\307\310\311\f\"!\315\307\310\311 \"!\260\f\207" [lao-transcription-consonant-alist lao-transcription-semi-vowel-alist lao-transcription-vowel-alist lao-transcription-maa-sakod-alist lao-transcription-tone-alist lao-transcription-punctuation-alist "\\(" regexp-opt mapcar car "\\)\\(" "\\)?\\(\\(" "\\)?\\(" "\\)?\\)?\\|"] 15) (#$ . 7300)) #@862 Alist of Lao vowel string vs the corresponding re-ordering rule. Each element has this form: (VOWEL NO-MAA-SAKOD-RULE WITH-MAA-SAKOD-RULE (MAA-SAKOD-0 RULE-0) ...) VOWEL is a vowel string (e.g. "ເັຽະ"). NO-MAA-SAKOD-RULE is a rule to re-order and modify VOWEL following a consonant. It is a list vowel characters or 0. The element 0 indicate the place to embed a consonant. Optional WITH-MAA-SAKOD-RULE is a rule to re-order and modify VOWEL following a consonant and preceding a maa-sakod character. If it is nil, NO-MAA-SAKOD-RULE is used. The maa-sakod character is always appended at the tail. For instance, rule `("ເືອ" (?ເ t ?ື ?ອ))' tells that this vowel string following a consonant `ກ' should be re-ordered as "ເກືອ". Optional (MAA-SAKOD-n RULE-n) are rules specially applied to maa-sakod character MAA-SAKOD-n. (defconst lao-vowel-reordering-rule '(("ະ" (0 3760) (0 3761)) ("າ" (0 3762)) ("ິ" (0 3765)) ("ີ" (0 3765)) ("ຶ" (0 3766)) ("ື" (0 3767)) ("ຸ" (0 3768)) ("ູ" (0 3769)) ("ເະ" (3776 0 3760) (3776 0 3761)) ("ເ" (3776 0)) ("ແະ" (3777 0 3760) (3777 0 3761)) ("ແ" (3777 0)) ("ໂະ" (3778 0 3760) (0 3771) (3725 3778 0 3761) (3751 3778 0 3761)) ("ໂ" (3778 0)) ("ເາະ" (3776 0 3762 3760) (0 3761 3757)) ("ໍ" (0 3789) (0 3757)) ("ເິ" (3776 0 3764)) ("ເີ" (3776 0 3765)) ("ົວະ" (0 3771 3751 3760) (0 3761 3751)) ("ົວ" (0 3771 3751) (0 3751)) ("ເັຽະ" (3776 0 3761 3773 3760) (0 3761 3773)) ("ເັຽ" (3776 0 3761 3773) (0 3773)) ("ເຶອ" (3776 0 3766 3757)) ("ເືອ" (3776 0 3767 3757)) ("ໄ" (3780 0)) ("ໃ" (3779 0)) ("ເົາ" (3776 0 3771 3762)) ("ຳ" (0 3763))) (#$ . 7840)) #@430 Transcribe a Romanized Lao syllable in the region FROM and TO to Lao string. Only the first syllable is transcribed. The value has the form: (START END LAO-STRING), where START and END are the beginning and end positions of the Roman Lao syllable, LAO-STRING is the Lao character transcription of it. Optional 3rd arg STR, if non-nil, is a string to search for Roman Lao syllable. In that case, FROM and TO are indexes to STR. (defalias 'lao-transcribe-single-roman-syllable-to-lao #[(from to &optional str) "\203\306 \n#\211\2036\n Y\203\307\2026\310\225\2026\212\nb\210\311 \312#\211\2033\310\224\2025\307)\n\205\263\313\314\"\313\315\"\313\316\"\313\317\"\313\320\"\307\211 \307\211!\"\307\211#$\307%\310\225\f\204\321\313\310\"&\"A\202\253\321\f'\"A\322!\203\224\310HG$ \203\305\321 (\"A $\314U\203\264 P\202\301\310\314O \314\307OQ\202\310\203\253\307)\321*\"A!\322!!\203\346!\310H!\321!+\")\204\374)A@)\202\321,\"A\211\"\310H)AA\236A\206\323)8\206)A@))\204)\324\325!\"\210\326)\203W)@\310U\203GP\211G%\202N)@CP)A\211)\2043%\204b\324\327\"\210G-%-W\203\203\330%H\331\"\332>\203\203%T\211%\202h)\"\203\216\"P\203\252\321.\"A#\310%O#%\307OQ)\n \333!E.\f\207" [str lao-transcription-pattern from to consonant semivowel string-match nil 0 re-search-forward t match-string 1 3 5 8 9 assoc vectorp 2 error "Lao vowel %S has no re-ordering rule" "" "Lao vowel %S has malformed re-ordering rule" get-char-code-property phonetic-type (vowel-lower vowel-upper) lao-compose-string vowel maa-sakod tone lao-consonant lao-semivowel lao-vowel lao-maa-sakod lao-tone clen cidx lao-transcription-punctuation-alist lao-transcription-consonant-alist lao-transcription-semi-vowel-alist rule lao-transcription-vowel-alist lao-vowel-reordering-rule lao-transcription-maa-sakod-alist len lao-transcription-tone-alist] 6 (#$ . 9557)]) #@62 Transcribe Romanized Lao string STR to Lao character string. (defalias 'lao-transcribe-roman-to-lao-string #[(str) "\306G\307\310\311\f #\211\203= @ A@\312 8 \211\f\fV\2032\n\f\fO Q\2026\n P +\202 \f W\203L\n\f OP\202M\n,\207" [str val lao-str to from lao 0 "" nil lao-transcribe-single-roman-syllable-to-lao 2 end start] 5 (#$ . 11552)]) (defalias 'lao-composition-function #[(gstring) "\211\211\304H)GS)\305U\203\306!\207\307!\206I\211G\310Z)\304\311\n W\203B\n\211\n\310\\H*\211\203B\nT\211\202'\312\304\n\313$+\207" [gstring glyph i glyph-len 0 1 compose-gstring-for-graphic font-shape-gstring 2 nil compose-glyph-string-relative 0.1] 6]) (defalias 'lao-compose-region #[(from to) "\214 }\210eb\210\306 p\307\216\310\f!\210\311 \312\313#\205$\314\315\224`\"\210\202,\207" [from to #1=#:old-buffer #2=#:old-table lao-category-table lao-composition-pattern category-table ((byte-code "rq\210\302 !\210)\302\207" [#1# #2# set-category-table] 2)) set-category-table re-search-forward nil t compose-region 0] 4 nil "r"]) (provide 'lao-util)