[AD] Unicode utoupper/utolower

[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]


Hi!

Attached is a zip with a version of the utoupper/utolower functions that is
capable of converting all convertable Unicode characters, instead of just
a-z.

I've generated the functions with a small program I made, which uses a
Unicode datafile (from www.unicode.org ) as input so it'll be easy to
update the functions if a new version of the standard is released. I can
also easily throw in a filter if it isn't necessary to support all
characters (?), or customize it a wee bit if someone can find a way to
optimize it. Currently the generator is optimized to find ranges.

Well, that was all I guess...

Ole Laursen - http://sunsite.auc.dk/olau/
Row, row, row your boat, gently down the streeaam (gee!)




begin 666 Utoul.zip
M4$L#!!0``@`(`#9J\28L]8&LVP0``-\?```&````551/3"Y#?9G;;E1)#$7?
M(^4?SA-*-(I4OE39)L/\"^H)&B0$4DC$`\R_3Q-$3LW>=1KQ$K>]ZN95A.J/
MGY^VYZ<OG[Y\>WB\^?G#Z?;ZZOOUU;9M'S]L-S>G[:]WV^C;FS?;:?OSW5;M
M=OOQX^7SGW]^?2ZEKPDJOLA0&7N&ZB*CQ/9!M%89)GN&K3*D>7M-D19R>_L[
MX_'AZ?GQ\_F3/S;3>UB?U3ZVE2^KM'4L<]O+W [*)+"LFD_;.=9SY"K9EU:R
M7MDPK)*F?=H1&\M=LYQS:LG.1FS3VNMLK-BN?3]XU[(EVQ/94;YO4E27!3MJ
MM"EG]&5.C"DG;9DSM>_YAU5G96O['F436^9,W7?^(98YH5-.K,?*>:Q:K2ME
M:J(4D66.3O,17>?T:3[2E^N2,<U'QKH_[N@,ST/.;%V?_5TX%]J8"NUHP,&%
M?=Z5WM>%TAI7QKQ7!S?'G8AR9<YCYM&8NMB?G)>9<53)Z^R3'=G[>H.$ZLIJ
M/\GR@Q-Y&>\E_O7;QZ?3/]O-Z7;[_COQ]/[KPZ9]O(5 0F T#"@&' ,('0@xxxxxxxxxx
MA 9"`Z&!T$!H(C01F@A-A"9""Z&%T$)H(;0`:JUA0#$P,( ,0888!CH&`@,%
M`14,(%01J@@UG)CAXLPQ@*LU7*TCU!'J"'6$.D([0CM".T+1%T-?#'TQ],70
M%T-?#'TQ],70%T-?+/!<`@\[\;#1!D,;K+"DH!V\"0: X3(P@!G:,& 8P!+#
M80TG9K ?CBWEV$'><5@\?>^PISYP'@,9`R<V<&(#H8'00&@@%"]'Q\O1\7)T
MO!P=V\&Q'1PO1\?+T?%R=+P+.]Z%':^^CAW4\>KKHAAP#" 4FZYCTW5%J")4
M$8IMV?$N['@7=KP+JR@P, "C2,,]/$>4(DX1`(O@'IPC2A&G"'-PAF)$-B(;
MD8W(1F0GLA/9B>Q$=B)W(G<B#ZH*J@JJ"II/T'R"R$GD)'(2.8F<1"XB%Y&+
MR$5DZDRESE3J3*7.5.I,;406(@N1A<CX*] Y4AC!?VW.$:JB[E7J7J7N5>I>
MI>Y5ZEZE[E7J7J7N5>I>I>[53N1.Y$[D09Q!G$$<,H5^YX^!'7Z.<(Y39% D
M,5)$+B(7D8O(V.$1V.'GB%+$*3(H0F0ALA!9B"Q$%B(KD97(2F0ELA+9B&Q$
M-B(;D8W(3F0GLA/9B>Q$[D3N1.Y$[D3N1!Y$'D0>1!Y$'D0.(I--$40.(@>1
MR<$@!X,<#'(PR,$@!X,<#'(PR,$@!Y,<3'(PR<$D!Y,<3'(PR<$D!Y,<3'(P
MR<$D!Y,<3'(PR<$D4Y),23(ER90D4Y),23(ER90D4Y),23(ER90D4Y),23(E
MR90D4Y),23(ER90D4Y),23(ER90D4Y),23(ER90D4Y),*3*ER)0B4XI,*3*E
MR)0B4XI,*3*ER)0B4XI,*3*ER)2:3*$GUGMX;?/#U#NI@NRI61:OOLC.?IBM
MTB!YZ@3^(FM@\O$"`^=<=0&L]_"&<VD6ALEV(;ECLE](#DRFER.]L)6"U7%A
M*-@>EPN+$%RQ7#I1AV3L75=ZJ;JPVY* LPOG*+@JO*V]X]B=GG@N[-K_Z?--
M0E^#)N8>M^J '<N&.W2.!$4*(].3X-%W7*_)]*J1]*Z0\_^;"5@xxxxxxxxxx[
M^N^'#^^?/SVM4W]E_7M]=?[['U!+`P04``(`" `V:O$F?6/AOR0%``#2(0``
M!@```%543U4N0WV9W4X<1Q!&[Y%XA[FR0!'2U%]7E8GS+A;!"E+D6!B4"SOO
MGL$6[/C[>L?RS1959ZN[Z_0NP\/GI^7YZ9_G+U_N'Z]>7MQ=7UY\N[Q8EN7A
MTW)U=;?\\6'I7-Z]6^Z6WS\LHGJ]?/_^(^'EW\\$57_+4!^S#*]31O@DHSW>
M,GK(+&/8*2-G&;*FGEJ5U:ZO7S,>[Y^>'S]O/_EMN3&]A15&G]J+[GF9KH%U
M(]:WNA%RIDX2Z]KEM!0_UR:7Y7X'?%XV#,NVG8C=MLCL@+9P[7/.[$&M!+?<
MC8?+F:Z\L##;QEMAONP"=Y4=NLN)G.:,VN5D3'/*=SD]&YY:U]-A;B]BFF.Z
MR[&>Y@S?Y>3\O6K_7I73G#[M3[T,\R1'9->/R#S'=_V(3]<E8]>/C/DDTQ'6
MNM-Z>S$?FG2NB_WR8RY C4G=?FLCIG6RKI/"L2_,>:%.5AC[%<9\A=LI<.%^
M1]<S.RK*:XQ]8>1\C3<R^$[9W<+M?NX6>RG\\8.O_SX\W?VU7-U=+]]>,^\^
M?KU?-.+]VX!0QW(+R?D>`@V!(1@xxxxxxxxxx# 0&$#H0F@A-A"9"$Z&)T$)H(;006@xxxxxxxxxx
MA#9"&Z&-T$9H`]16P8!A(#& #$&&. 8&!@H"NF) ,8!01:@BU+ QP\598 !7
M:[A:1Z@CU!'J"'6$!D(#H8%0],70%T-?#'TQ],70%T-?#'TQ],70%TL\E\+#
M+CQLM,'0!FLL:1@xxxxxxxxxx'!)#&"&"@8<`UAB^+:&C1GLA^-(.4Z0XSAX(!1/
MWP?V,;#U@8R!C>6*`80F0A.A>#DZ7HZ.EZ/CY>@X#H[CX'@Y.EZ.CI>C-ZPV
M\"X,O/H")RCPZ@LQ# 0&$(I#%SATH0A5A"I"<2P#[\+ NS#P+NRF0&(`WD56
MW,,M8A0)B@!8!/=@BQA%@B+,P0[%B&Q$-B(;D8W(3F0GLA/9B>Q$#B('D0=5
M)54E527UD]1/$KF(7$0N(A>1B\A-Y"9R$[F)3).I-)E*DZDTF4J3J2N1A<A"
M9"$R?@42Q>] 6\0I0E4TO4K3JS2]2M.K-+U*TZLTO4K3JS2]2M.K-+T:1 XB
M!Y$'<09Q!G'(%/K.GP,G?(MP3E D*=(8:2(WD9O(362<\$R<\"UB% F*)$6(
M+$06(@N1A<A"9"6R$EF)K$16(AN1C<A&9".R$=F)[$1V(CN1G<A!Y"!R$#F(
M'$0>1!Y$'D0>1!Y$3B*339E$3B(GD<G!) >3'$QR,,G!) >3'$QR,,G!) >+
M'"QRL,C!(@>+'"QRL,C!(@>+'"QRL,C!(@>+'"QRL,C!(E.*3"DRI<B4(E.*
M3"DRI<B4(E.*3"DRI<B4(E.*3"DRI<B4(E.*3"DRI<B4(E.*3"DRI<B4(E.*
M3"DRI<B4(E.*3&DRI<F4)E.:3&DRI<F4)E.:3&DRI<F4)E.:3&DRI<F4WIG"
M3V1OX7';^8>H-_KZ)ZC3<Q([GVVO#[1/#PWPMW<4Q <^`>B#UJ$9IU\E5EG/
M5V?_6AY]M')9,7L<9*_CU^RQF[Y)MF*V'64;9M=1=D"V'':2F'VXRL9L.("A
M1PL1&+VA1V\FN.RCH59QR'88K(&?#,./ME$*>'&8#1M3NZ]Y].<BZ+3]8&8-
MVNC=4S=.AOWM/$@>V$8>',903#Z_OIN F>HZF$"GY(.>`WJ6]4B%&I1],$$%
MOF?9P?40>. KJK!%&B-XO6^1\[[ R9?@1TK1HZ;:/TI!'G8L1_8EW2,EX_Q^
MG [QS_M/'Y__?IIG_LSZ[_)B^_\_4$L!`A0`% `"``@`-FKQ)BSU@:S;! ``
MWQ\```8``````````0`@`````````%543TPN0U!+`0(4`!0``@`(`#9J\29]
M8^&_) 4``-(A```&``````````$`( ```/\$``!55$]5+D-02P4&``````(`
,`@!H````1PH`````
`
end



Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/