REVO2700unicodeInRev-generic0on preOpenStack set the width of this stack to 900 set the height of this stack to 700 end preOpenStack on resizeStack set the topleft of group "bgGrp" to -8,-4 end resizeStack L!Unicode and Internationalization$ULucida Grande$U Braggadocio$U Bauhaus 93$U Bauhaus 93,U Bauhaus 93 UArial Rounded MT BoldUArial Rounded MT Bold$UArial Rounded MT Bold0UArial Rounded MT Bold0ULucida Grande0UAbadi MT Condensed Extra Bold$UAbadi MT Condensed Extra Bold<UAbadi MT Condensed Extra Bold0U Arial Black$U Arial BlackU Arial BlackUAbadi MT Condensed Extra BoldU Arial Black<U Arial BlackULucida GrandeWLucida Grande WLucida Grande ULucida Grande0UTimes UTimes UTimes$WArial Rounded MT Bold$UArial Rounded MT Bold,JapaneseUTimesUTimesUArial Rounded MT Bold0UTimes New Roman UTimes New Roman0UArial Rounded MT Bold$WTimes New Roman WTimes New RomanUArial Rounded MT BoldUGeneva CY,RussianU Geneva CYUArial Rounded MT BoldUTimes New Roman @U helvetica U helveticaUGeneva CY,RussianU Geneva CY ULucida GrandeULucida GrandeULucida GrandeULucida Grande,RussianULucida Grande,JapaneseUArialUGeneva,UnicodeUGenevaU׶ Pro,ChineseU ׶ ProUOsaka,JapaneseUGeneva CY,RussianU Geneva CY ULucida Grande,Japanese,UBauhaus 93,JapaneseUArial Rounded MT Bold,JapaneseUArial Rounded MT Bold,RussianUArial Rounded MT Bold,ArabicUϸ,SimpleChineseUArial,JapaneseUArial,russianUArialUGenevaUArial,russianUArial Rounded MT BoldWArial,russianWArial$UArial$UGeneva CY,Russian$U Geneva CY$U Arial,Korean$UArial,Japanese$U Arial,Greek$UGeneva,Unicode$UGenevaUGallaudet Regular0UGallaudet RegularHUGallaudet RegularUArial Rounded MT Bold,KoreanWArial Rounded MT BoldUArial Rounded MT Bold,GreekUArial Rounded MT Bold,HebrewUArial Rounded MT Bold,ThaiUHelvetica CY,russianUHelvetica CY,JapaneseUHelvetica CY,RussianUarialUarial,JapaneseU arial,KoreanU arial,GreekUarial,RussianU arial,ArabicU arial,ThaiUTahomaUTahoma,JapaneseUTahoma,RussianULucida Grande,UnicodeUTahoma,UnicodeU Courier NewW Courier NewW Courier NewUVerdana$UGeneva CY,russian$U ,Russian$UArial Unicode MS$UArial Unicode MS,Russian$UHelvetica CY,Russian$U Helvetica CY$ULucida Grande,russian$UCharcoal CY,Russian$U Charcoal CY$UTimes CY,Russian$U Times CY$UTahoma$UVerdana$UVerdana,Russian$UKai,SimpleChinese UVerdanaUVerdanaUverdanaUVerdanaUVerdanaUCharcoal CY,RussianWArialWArial,russianWArial,russianWArialU ,RussianUArial Rounded MT Bold,Unicode,UArial Rounded MT Bold,UnicodeWGeneva CY,unicodeWGeneva CY,unicodeUArial Rounded MT Bold,UnicodecREVGeometryCachestackID1188 cREVGeneral scriptChecksum8> uٔOg handlerListpreOpenStack resizeStack breakpointsbreakpointstatesscriptSelectionchar 130 to 129breakpointconditions bookmarks tempScript prevHandler preOpenStackstackfileversionscripte

on preOpenStack

set the width of this stack to 900

set the height of this stack to 700

end preOpenStack

on resizeStack

set the topleft of group "bgGrp" to -8,-4

end resizeStack

 @cREVGeometryCacheIDs 11504228003521013115042287825510141150423173170101611504226106691011115042236236010101150421760493100311504456974111023115042200208810071174318771587117212296369942691173115042266784010121150421940632100611504446263561021cREVGeometrycachetotal13order @cREVGeometryCacheIDs 1150422800352101311504228782551014115042317317010161150422610669101111504223623601010115042176049310031150444385008101811504220020881007117431877158711721150422667840101211504219406321006cREVGeometrycachetotal11order PPon openCard hide fld "ascii" hide fld "hdrs" pass openCard end openCard  cREVGeneralscriptChecksum5 ɴ bookmarks handlerListopenCardscriptSelection char 65 to 64 prevHandler tempScriptscript%

on openCard

hide fld "ascii"

hide fld "hdrs"

pass openCard

end openCard

cREVGeometryCacheIDs1150422800352101311504228782551014115045621230510281150421760493100311504223623601010115042261066910111150423173170101611504562120811026115045615169410251150422002088100711743187715871172115042194063210061150422667840101211504575701561032cREVGeometrycachetotal14order @cREVGeometryCacheIDs 1150457861713103511504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504220020881007117431877158711721150421940632100611504226678401012cREVGeometrycachetotal11order  @cREVGeometryCacheIDs 1150422800352101311504228782551014115042176049310031150422362360101011504226106691011115042317317010161150422002088100711743187715871172115042194063210061150422667840101211504589861781038cREVGeometrycachetotal11order @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycachetotal13order @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycachetotal13order @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13 @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13 @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13 @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13 @ cREVGeneral bookmarks handlerList tempScript prevHandlerscriptSelection char 1 to 0scriptcREVGeometryCacheIDs11732935381421166115042280035210131150422878255101411504217604931003115042236236010101150422610669101111504231731701016117371666294911681150459678227104411504220020881007115045956260610411174318771587117211732935948641167115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal16 @cREVGeometryCacheIDs 1150422800352101311504228782551014115042176049310031150422362360101011504226106691011115042317317010161150422002088100711743187715871172115046098146910521150421940632100611504226678401012cREVGeometrycacheordertotal11 @cREVGeometryCacheIDs 1150422800352101311504228782551014115042176049310031150422362360101011504226106691011115042317317010161150461101443105411504220020881007117431877158711721150421940632100611504226678401012cREVGeometrycacheordertotal11 @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13 PGon opencard put empty into fld "dest" pass opencard end opencard  cREVGeneralscriptChecksumB]jB^] P bookmarks handlerListopencard prevHandleropencard tempScriptscriptSelection char 1 to 69script

on opencard

put empty into fld "dest"

pass opencard

end opencard

cREVGeometryCacheIDs1150422800352101311504228782551014115042176049310031150462198251106511504595626061041117431877158711721150422667840101211504223623601010115042261066910111150423173170101611504621413391063115046218894810641150459678227104411504220020881007115045963804010431150421940632100611504619000391061cREVGeometrycacheordertotal17%'()! @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13" @cREVGeometryCacheIDs 11504228003521013115042287825510141150421760493100311504223623601010115042261066910111150423173170101611504596782271044115042200208810071150459562606104111743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal13# PFon opencard put empty into fld "dest" pass opencard end opencard  cREVGeneralscriptChecksum>j,{1sqs bookmarks handlerListopencardscriptSelection char 70 to 69 prevHandler tempScriptscript

on opencard

put empty into fld "dest"

pass opencard

end opencard

cREVGeometryCacheIDs115042280035210131150422878255101411504217604931003115042236236010101150422610669101111504231731701016115046274963810681150459678227104411504220020881007115045956260610411150462749661106711743187715871172115045963804010431150421940632100611504226678401012cREVGeometrycacheordertotal15+,. @cREVGeometryCacheIDs11504228003521013115046317998410721150422878255101411504631800951073115042176049310031150422362360101011504226106691011115042317317010161150463179887107111504220020881007115046318031210751174318771587117211504219406321006115042266784010121150463349074107611504631801721074cREVGeometrycachetotal16order/012345 PGon opencard put empty into fld "info" pass opencard end opencard  cREVGeneralscriptChecksum sQL= ,ZyyN bookmarks handlerListopencardscriptSelection char 56 to 55 prevHandler tempScriptscript

on opencard

put empty into fld "info"

pass opencard

end opencard

cREVGeometryCacheIDs115046420673910871150422800352101311504640998551086117371685360211691150464207121109111504228782551014115042176049310031150464099578108311504638779381082115046534861310971150464358468109211504640996641084115046420683110881150464932078109411743187715871172115042266784010121150465348577109611504231731701016115042261066910111150422362360101011504220020881007115046409976510851150464932107109511504642071481089117371696850611701150464207149109011504219406321006cREVGeometrycachetotal27order:;<=>?@ABCDFGHI6 PKon opencard put empty into field "typing" pass openCard end opencard  cREVGeneralscriptChecksuml%BH, bookmarks handlerListopencardscriptSelection char 60 to 59 prevHandler tempScriptscript

on opencard

put empty into field "typing"

pass openCard

end opencard

cREVGeometryCacheIDs 115042280035210131150422878255101411504217604931003115042236236010101150422610669101111504231731701016115042200208810071150466099648110011743187715871172115046601662010981150421940632100611504226678401012cREVGeometrycachetotal12orderJL7 PGon openCard put empty into fld "info" pass openCard end openCard  cREVGeneralscriptChecksumG[ PmQA bookmarks handlerListopenCardscriptSelection char 56 to 55 prevHandler tempScriptscript

on openCard

put empty into fld "info"

pass openCard

end openCard

cREVGeometryCacheIDs11504673437161109115042280035210131150422878255101411504674457251111115042176049310031150466500426110111504673438061108115046749541211121150467344096110511504673957401110117431877158711721150467321392110211504678543281115115042266784010121150423173170101611504226106691011115042236236010101150467344188110411504673440041106115046734389511071150422002088100711504677168141114115046732142111031150467549776111311504219406321006cREVGeometrycachetotal25orderMNOUTSRQPVWXYZ[8 PJon openCard put empty into fld "display" pass openCard end openCard  cREVGeneralscriptChecksum2gt깛ً: bookmarks handlerListopenCardscriptSelection char 59 to 58 prevHandler tempScriptscript

on openCard

put empty into fld "display"

pass openCard

end openCard

cREVGeometryCacheIDs1150422800352101311504228782551014115042176049310031150488335618112411504686399961118117431877158711721150468756335112211504226678401012115046863988611191150468516525111611504223623601010115042261066910111150423173170101611504220020881007115048833548111231150468713762112111504219406321006cREVGeometrycachetotal17order\^_abcd9 Pon openCard put "Type some unicode text here." into fld "typing" select the text of fld "typing" pass openCard end openCard  cREVGeneralscriptChecksumu6 '>rmSL bookmarks handlerListopenCardscriptSelectionchar 101 to 100 prevHandleropenCard tempScriptscriptx

on openCard

put "Type some unicode text here." into fld "typing"

select the text of fld "typing"

pass openCard

end openCard

cREVGeometryCacheIDs1150489441623112711504894764071129115042280035210131150422878255101411504897494591130115042317317010161150422610669101111504223623601010115042176049310031150489441743112811504685235231117115048883620011261150422002088100711504888096961125117431877158711721150422667840101211504219406321006cREVGeometrycachetotal17order]efghijl Pon openCard set the textFont of btn "unimenu" to "Arial" put "one" & cr & "two" & cr & "three" into btn "unimenu" pass openCard end openCard  cREVGeneralscriptChecksumEN (Z]hg bookmarks handlerListopenCard tempScript prevHandlerscriptSelection char 48 to 47script

on openCard

set the textFont of btn "unimenu" to "Arial"

put "one" & cr & "two" & cr & "three" into btn "unimenu"

pass openCard

end openCard

cREVGeometryCacheIDs115042280035210131150422878255101411504217604931003115049130545811391150491063830113611743187715871172115049195730011401150422667840101211504920513991142115049205148311431150422362360101011504226106691011115042317317010161150422002088100711504920722271144115049100242111341150421940632100611504959057351164cREVGeometrycacheordertotal18npstvwxdialogs P?on preOpenCard put empty into fld "result" end preOpenCard  cREVGeneralscripteditorvscroll0scripteditorselection62cREVGeometryCacheIDs1150422800352101311504228782551014115042317317010161150422610669101111504223623601010115042176049310031150422002088100712296396030101175122963960301111761174318771587117212296396030121177122963960301311781150422667840101211504219406321006cREVGeometrycachetotal14orderunicode title @ cREVGeneralscripteditorvscroll0scripteditorselection0cREVGeometryCacheIDs1150422800352101311504228782551014122964183049111801150423173170101611504226106691011115042236236010101150421760493100312296418304921181122964183049311821229641830494118311504220020881007117431877158711721150422667840101211504219406321006cREVGeometrycachetotal14ordery Pon openCard if the hilite of btn "changingbtn" then click at the loc of btn "changingbtn" end if if the hilite of btn "changingBtn2" then click at the loc of btn "changingBtn2" end if if the hilite of btn "changingBtn3" then click at the loc of btn "changingBtn3" end if put "(a hidden field)" into fld "russTxt" pass opencard end openCard  cREVGeneral scriptChecksum8pj!&~d{scripteditorvscroll0 bookmarksscripteditorselection307 handlerListopenCardscriptSelectionchar 122 to 121 prevHandler tempScriptscript0

on openCard

if the hilite of btn "changingbtn" then

click at the loc of btn "changingbtn"

end if

pass opencard

end openCard

cREVGeometryCacheIDs12296421796611184115042280035210131229642179662118511504228782551014115042317317010161150422610669101111504223623601010115042176049310031229642232343118611504931300211148115042200208810071174318771587117211504935442331149115042266784010121150421940632100611504928874591146cREVGeometrycacheordertotal16z|}~ PKon openCard put empty into fld "showhtml" pass opencard end openCard  cREVGeneralscriptChecksumI867Go#ˬ bookmarks handlerListopenCardscriptSelection char 60 to 59 prevHandler tempScriptscript

on openCard

put empty into fld "showhtml"

pass opencard

end openCard

cREVGeometryCacheIDs115042280035210131150493960102115511504228782551014115042317317010161150422610669101111504223623601010115042176049310031150493904641115311504220020881007115049390452611521174318771587117211504226678401012115042194063210061150493808393115111504940173031158cREVGeometrycachetotal15order @cREVGeometryCacheIDs 1150422800352101311504228782551014115042317317010161150422610669101111504223623601010115042176049310031150494393086116011504220020881007117431877158711721150422667840101211504219406321006cREVGeometrycachetotal11order  @cREVGeometryCacheIDs 1150422800352101311504228782551014115042317317010161150422610669101111504223623601010115042176049310031229643008894118811504220020881007117431877158711721150422667840101211504219406321006cREVGeometrycachetotal11order  @cREVGeometryCacheIDs 1150422800352101311504228782551014115042317317010161150422610669101111504223623601010115042176049310031150422002088100711743187715871172115042266784010121150421940632100611504949357691162cREVGeometrycachetotal11orderbgGrpiJon openCard put the number of this cd into fld "cdCount" end openCard  cREVGeneralscriptChecksum.@F P@>/w bookmarks revUniqueID 1150422878255 handlerListopenCardscriptSelection char 51 to 50 prevHandler tempScriptscript

on openCard

put the number of this cd into fld "cdCount"

end openCard

 RectangleK@. cREVGeneral revUniqueID 1150422002088RevConWest.gif D 2,+ NPNG  IHDR, gAMA=-f,PLTEиⲲᠠ山̟鼼ƻ¬ϯɴդ۝రڿǭ%jadtRNS&m= ]IDATXXk[NR.B ) Am(EC$1/F IKd&h>Ϟdf83ss&"mADh,?u%4"VW_ H4Ƭ0S_wH$KAO)kfo"~PdAP6e A`1 -*bσwm"`/Eb0)V6V>@ev?@јGOgZpF'R/(CrD@q#TCdy -(mu/@xp||IڍN naWੑ_C|,ZKSp*ZC6Ys.ekh Y6Fsԑkc?;)G/'bxX {{XhX,&= /η-(MC>d2u<%θaԺ905]FH$bb%YP=sB/tʲf cllrO'=̗:䏕Z,ͻNR;Ѹq3I4]#BpV9uG/,_ k6G{}zsS! W) S4B tpǖ<`en).y>-mv!Ν:. 4=GuxjE`F#aa=/%q=з#2e%dBECF V_Er-da,@8Е.}KғhOXh,D{?Gp0yFXm'\=[xd]FOFr#Nd,1a{Ҹ#Y2@kh7g[o 3 dYD+kIF GxCXˬE4qQӞ sCrj˓>H^͒"8hW ;(_B釉 f˗6,llQ% A铿s+h ӭ2+^6wYqCR38ZT) &4rt& 9ka`Ub'YU&9ۉ_ W>7:IdùI\Goޜxnf1<#b2_gIL;9 %mb{ʋh}/W0(?9 Zz^%Kφl߿6~#syՁPd~A| sIyn@JRSٲh!yCpC+n1a`7:1 ͑^s c<=x^ķZϕ~JCg.Udͪ!pcpۡ׶ECt:{pI|=9A)کzЕg׋`\/Hܹa8K1xuJ9ALA}2Ooqjw FLr}E:_e)jae%zO0ހi-XqbQ"2O0trW="l_۫;Pg;U;{>먦i<|5M,Ze)m]jbnбdIcpܸ߾RÍFlGާݯ */g2GdNNaettV|Զ :zD{pոh\2Ř'axv6029G.Tƻ<26PMUTUXdGpm6/N!/%pځ|rfq0׳f'X7M6S7@U6! ]LaK)KʋP@V0-[5q6 LRICߚ[)|,p9 MaF7]MFͳ/QP6cnn^\3TS(ڂ_qdPIݺPqxeyW/c(yC$g)I)cZ'hNO`r[)]Qa>t!SK?W=TMTvt ?}9H'56I2P.%NRWex^(J$?G,]1d(05,J~KP=- ~е:#F; X{)3!KΤ˗4Z+o+Kt:z2V\ KF:2Sրc%_3e<O*;, B gk]SV{>/ ׫3gG_>G%hg2 }Hs6:,Fp?<>jG8Hf318cl?N~49\/m"ZLkM?t NM+䵹yɒۃjQs91][u+I .?#EtT& ֟?|fIENDB` cREVGeneral revUniqueID 1150421760493 RectangleK@2 cREVGeneral revUniqueID 1150421940632 titleBG0@.r( cREVTable currentviewUnicode in Revolution cREVGeneral revUniqueID 1150422362360 Unicode in RevolutionnextKUon mouseUp visual effect push left go next end mouseUp on mouseEnter set the foregroundcolor of me to "darkblue" end mouseEnter on mouseLeave set the foregroundcolor of me to the backgroundcolor of me end mouseLeave b cREVGeneral scriptChecksum3S*yy SY handlerListmouseUpscriptSelection char 37 to 36 revUniqueID 1150422610669 bookmarksscripteditorvscroll0scripteditorselection229 tempScript prevHandlermouseUpscript)

on mouseUp

visual effect push left

go next

end mouseUp

prevKUlocal sBorderColor on mouseUp visual effect push right go prev end mouseUp on mouseEnter set the foregroundcolor of me to "darkblue" end mouseEnter on mouseLeave set the foregroundcolor of me to the backgroundcolor of me end mouseLeave J cREVGeneral scriptChecksum@/>yE^u$ handlerListmouseUpscriptSelection char 38 to 37 revUniqueID 1150422667840 bookmarksscripteditorvscroll0scripteditorselection0 tempScript prevHandlermouseUpscript*

on mouseUp

visual effect push right

go prev

end mouseUp

cdCount 0@24 cREVTable currentview12 cREVGeneral revUniqueID 1150422800352  31  32  32 ~ 30 y 29  28  27 l 26 9 25 8 24 7 23 6 22 5 21 . 20 # 19 " 18 ! 17  16  15  14  13  12  11  10  9  8  7  6  5  4  3  2  1 Title)0GGGGGG@<2; cREVTable currentview Future Plans cREVGeneral revUniqueID 1150423173170  Conclusion  Future Plans  Questions ~ Gotchas y Gotchas  Unicode in title bars  "Unicode in ask and answer dialogs l Unicode in menus 9 Examples 8 Examples Examples 7 Examples 6 Examples 5 Examples . Examples # Tools in the language: " Tools in the language: ! Tools in the language:  Tools in the language:  Tools in the language:  &When working with Unicode in Rev...  &When working with Unicode in Rev...  Definitions  Definitions  Definitions  Definitions  Definitions  Definitions  Definitions   What is Unicode?  Character Encoding  Character Encoding  unicodeTitle.png 2,:ePNG  IHDR,A@$tEXtSoftwareAdobe ImageReadyqe<:IDATx]|TֿI# "HA)ETς( (=P)ώ( ҥhBfw2=v %]-3s2ghl6Tj[mmնۯikնVj[mUҵնVj[msyh40V 2L4,oE׮ҺնZ޿[MXPAl#6mq݃ ol\@ΞJ 󎧧pO/`YSfz&ު΍͕7v+͕+mtnTKJׯ2iDZnƂq~wot^oVeDE,?rr#ofYkYɽZyV9r_"D߻T',M?SQQqQXu˘]``VKϛ5~ ~5edʺ& Bs[CB3G4ٙh;v+R>>>Ks׻tI@v?7EˏV\\t,//rnmSz`ew^ex[LLl:ӭYM٫B_qY7vU5ݓ mA?po//zx5TV f"Ǒ&nݨCJޡbs vvCffF6O "X~Gg8Zhm&٬ o'[JJoѣdA<vWP!^7? ~A_NwvCii789>˝=>~$o'ޯmΛ1YR;wzWEo.]< ?B .O%iNւb 'c˛/5-ٻT&m=~pй& 2MJj7™1F` &EO]tf6000hC c#c(?Q $4V-Y醒l+$Z[e𡒂&mͧ(2d8%}0Q xJZ Y#e9<` xɢgN:NB-Q)㻝YY,0 h(翡$|}}42G.dV5T9u{CIO`˖mro"PUH)<%)G6R3)60u x-8D7 Z${u"޿zrP5PXXXDܜb%]Ok)ȇ +_{E=֩btTaP!vtmyyy -<DnZku:];_ثWY:umD *?d9(iEZlF[ :zWۊ ڵ(QýiCt$}RAcힴwΑqK3o̕x^x?b'Z7h2t4mD;wH-gy~`|걖 fGxiL n wAAmŊ/./]dz%'HvZiJ'SŠNs̗C/ԓCF׮]1|ղKV}woAbsiZʼn-I^Z:nt 5y*3@ƨݴQ̛IM=Q`?%K]QϽFxh4z|>9T[#oiҘت߳gw1}Gw 3rI!"+_#ݸ)_n1ٰa]1\_ɘbEK^ep)Y6z4esrΦu0f04noc 4)CqqASq:gmOiM=!A(K( a&?nV{5))ǻ ߄z҄ :v1KɜՑrءj1w "߳/I`(DܹnyT?7|Ѣip1gk^ތx_\] Rz6&<0 $޺ucظO,ZX87 8j^5\mNv`3ɓW="###(%O3Tff`Kd:[U/LL> 7OLcjL(`^{|<O߿jՊI*"'} 9|KA3N\UTvd 2Wn@@k?Fkܟx6M3uk(K%^Q4njyp7on2ssMn~/k.?+kho2 ,b8"-+%IRƪSVYek2,:[Jʮ##F )}. OpW&d?hxbD`B?'|Az;ko5<s58w3c;j~%l3\~G]K.%'7~%̒ 9>**Z5j~$0\&O"peSi"5[ Lʈ?,GaC8#l0ěޑ޴i۴g5('AlN۳g+CedyE3_ f 9CII;}?` e97QvD"Z9+ {P7o^?~ذJU\+N_bn!,11nTu?1{[ҔG (Ϝ9^[!pZ~{X&AG=|C0;oWPd{۴i"LW>>>OԩP̕ID9lf᭐]gnVM(fu~֫@QַAAABO̙"z?$P#!"i|;5>H<%EbH \ \H:>!oo9,ۥKlt=VȘJa:9=}~($V.!WIi 5ESGrEh0ΕqHM~Znct,9GWp"4P?KW[ "!&x(+C%{tu8ɼEt[s(ohgU:%{g5i1qó踉*Jρן^[>uvI|9/뉥=7. dds@@gje1::v3Jz Ur(N*\AIu|s&cDM'ց6 4À.-ut ;__z!~ZZIIWGvn; 4vRM^ewk})2{ 4}!ybOa MAa/ -T$l gӥ3=ߢ־vAf( S:k =`Ȑaq7+>˯WZmڴ%q Xbcef&`|*8:uތ&3]-0JZq;Ͷm.H7Bb7mQZw]0(IVҢ5I@䧌sG[O3O%;,!_j׬<)ޓ'R?88Ч4sv,C$GEHP/<2ҹ:}HU '3;Pm?r[WL:.]ρ[7Ș ؛M\\x7.veuee nW5f.ϙplqYZ۷odƉ,ybV;M$eHBWM_ۯd wnַwyWRBZ|||.X#xEM9thH{ӯ"OZ^7i͌l:78X6NG=pʑ^; &}Y2F ޴*ώS[S^Ν=79aî@.YoOc$Κ5ҽ۷rFM)x'N|Rg}i9Qj72w<]NNv9VZc،4"4*{WvϜ\08E\￯+1㏗TzʼgpcfqpH <4IZ%mu=<;C~&L,AYoqau=t5jԤϠA[mDǎ]xbIyHHr%y{OS't;^O+PT}0Ff)zFޘd='"\uUSBۿI*X|={//^tMN]f_{mʣĸף肳{#Ϝ9c*F֝5klOp p;^+$XeAirTzUȑKElRRvGDԍ߿`ԎYEI.[ :ʂPwi|7Я5֑UOV]]2 WKUjZ#xf=VM7AL/'#f^`?hѪ+OJʉ`es'aDLJ{+F $G.℆M6ݟIEQl]t%UTqy|f?杖lGab5aӧs qo3ZUW1f Dg7mZYt/}C;x7oiTkٲEG#Jg͚c)aCLlI @'lɾC.!Jٻ5 (iEŹo_J)Uh~@DW8E1\ޡaQ1`Ou'nܝb3T}܁`CnAշVeգе|EG 9.4vK1`Ǫ YūCe~~srk@_[,wي}cܸAAϺ|z5Crr{E#K/7L_~9{O| ))acStI!}^NI A,5:v#01C@-FյkWJT{ 9f͏d /X7KFGnأ?cƛv`CжmVg!7eC䓣5h02ҡ]m/N^\j޼F3`6 GӦQkZdO|%0is{~M" |>wkÅIbJehĪ$b<Ĉg7uegg3=CX[>`ޥb w5Rԟ2?|s'YlYosL5c;jON(jN?wd B#U{QJeONoذ.  O۷H/ٷԬX&^v ^xEO?ќ NWѯ7>HA{"NA 7o%s:O3[ܹ7ϙg Y<-W$%5j$U;s6bqGG]ÆE#\%!xfd@2"Tgc~ ViĚE!؟GgFo,V"7x{h9x'6  mCTk.WF0RVF/KUl aZzQ%.tmj׮кGL\Lb0C(#<߹s^]*?U aTc*iɓǟ^# xg.eHF{u^,P_RI4fl2hnٲMcJV7(_Lem(>p4GE4AS*KN`|͚% U_j(b;Ivb 9Lxǰ=<<_ȔR kUԩyX4im*4ғ7c!0  dFi z{(2 (OKeRS'+1>P$РACVShO(]" htoTo[}!K4g烅[ȺĻH' 2%am5OsZd= %YVDJv~* PZ:uBIc7B jwW.큧x<X3ͬVr]=;wn;O="r>3gO*\%1A 6m c>ho&Wx60Uckt*Ed~:Hҡ޷*PTneا:v\$Td xoArbbb}oN^K0kAf͏$W6lH!,AxjX%*soG >!2° H6l%R :-oٲ֭:2[w2/iovI_E ?=Rd^2fzJ{C #!i 믿ܧO?a+$?1ʥÇc쳯*w5iViRرT͈ڭdO@T%eG+uyN:CTA(F='xcPI[J~z*YDS/HOxAژ;ujFT5iGK)4fFMEzz&MVJMQ?vGF#z=&2#Q0@RRvgfWhD+*}27+`0H#xb#뵛7t[}èJPPp]oV֭` {oP8QsS`ȷT2^ǎ. Rrd2?˝ȥ^be=r1CNϟ-DkȊ<57Z%Kx{_C3qqEނh?? 1QEDDҼoƌyw7SRveoTU}` 0Bפ}.2P9yX~0'M1wtbXY*'hKUc|~I`5˖hy<yFf5iX{РBKxXޙ䬾G1?4P*QR5UsEEESTj3{C>n]r@`B&V/t3;w&ʧNC!UB²Rb  N]KơۿmӦ߮17~TI?r*號С^x՞"*ž;؀\7o>OiagdoC`u'Kt颋lU8H2&XFA ?)i%J˥gQ&bPT4n,JEŌ,FhǼ欬 jsf l+Q$Lf[jEĉ@?T|iǙ W9{Q[z%K4Ӄ'zsҤw'};7w;'UyyȓjM'mV S-Z Aj۶M9nV "r$@̹͑׍i`*k7oͅ5^QI6|H(**cY֠ {- O3T5mذp\̙SN!G"𰯪_ $Οoڴp9;_Jշ1Ty/IȲ5ej<1'sr[L09jXUjt͗ pYgg) %&z,˭IfI&ي Yl] eʫгy؋@o'a//E^xn2=AYy>}IdTW4<$]zȈ|#""0q*c+/'QQ`r20ɗ:H*tMBz| wkMK.ܬ|<Eb.Сb,Rt  ==-`z33VxР'~T! ].gN"5{=RĞ|ɾX Rq-ZU( ʐ*i˻ JԤf;M58T KB`d %͛'ٳ弓>}:}~:4{\sJUs|']Aw̚5((nFMԓTҞWoG 7EtiR |Ǎ,??8 II wڞA0Mq*$KϞ}DzA,uOB^VWH P!a9R.FjnѢr|UN py HIy))]^#>q7Zez2ɓO#٩:~R<k6ѣ_7YZQQapUcƌ7OJF9~)9thƈC^quH;8 d1 Hˁdud}tȐv})&Wdl/دvERC>Cyw}y~ʔW*)$wDo%9x.Z'kd+(PEW[ȖQQ1uT4qtS6$d=9sTZcJc'/C̤BRﯸw>9be>b@u%e `& VQҤ.<٦䐊'׀=v2ɦfc^h!0嗟ʌ'Au)ǐ3<# F}捻:܈·@*]&UJEo9ݴiu~y*8aڅCR·դQYB򮻺&<Ѵib(N!&-L{睹uT " _}\U^߾JˉG3{hܹ?'ɍm޼RAlҍ{+iF!F}&7^AԇɃ/(]nF2+d0oA׮=[܊.TK|3 ˜1 >%["gɒ"hU p3xmi}@<:=v֭߆,(/a;uj˄ A SbfdB`~d/+\@4z &Lx; 3 WDKRLgSZ>&^FFzD^^NTIIIXdXHy`,/a>|T`tt7xAz>Dr/^C Q~$=eeeu{V5΋,WhP`&qݾMg`0R -C`Yg5 p)A  $do`4F?ܵk?:+W.ѽȲ/>lՋ/} nٲe10ڕ9BX؃S8OHj:?;leh =*zUrHkĩur(ψrBk}Ng(^ȑcAӋ#4 `P&M2&Q^j)c{F?[ 7JsRXSΊMNnhEx?MaLEsi֦ +;l6gd!Le.q:y2wKC|ll\Yc&}EU+Ғ̌/[DDdAEC:7cKO֡+ˠveH7gԫ_?iVVFhnnN$>h,F@0qyGaxH.MiBYv.>ŀؚz>R L_S7@0v" "KKK 1XvqdAޓOl݁ woKb;*^R,KȀ>Jj!ȬgHQTOo 1wp ڶH|g A/Vԟ*h`*h tr)ѯ!%qҿyq>-}3sX"3 {3JGAH x/U=ʭ CgaI+}֗i8}$7G7ga/Bˋ8c}JPJ+^b5* ! \r{HB(jнٜQB=!q?aNޒ FLΌ?_^ ebg"p~rļd ozW6X1 nPNd?KGW(GϜĿgTRϿAE1!:vF{,@C>1krаyadLFfsR9I2B1#y)BXxd\ 3MHRl[T353z 3xڳC5[fsyUG}!㦜BE9Vgf@+ǍaK8 }9Ō5-Q(@ laǰӿa jFz3j,R uJ S!1ZКGrX Z,ϼafzF~b!eϲ%> B _)|ƱSxMrkZG`נ1 D0!)C&qaᔴ@HTa_ƀ3-h!Èޏ0W}%BD9 3a#dCGxjbUcz%FOVny~7-ohz$X"DӬ `\6$gp3~oqBӛH2~h_J[>9L(YGd"- >rfB#gAtcZ BJ9lgy KPT K97}ρ(EƖX?IKp6N}¡L a=wucٻ#+B`nܼ.ѿHU"siDb:^U݇3N'T؀o,6Q U*nqyh 91pc^ yd48pUlqqfF&fy,sS2.ļ6Eǰh &B@Oj2rK̊Ɗ17N!I.o'-2E˖ѾY.ИXTUnicode in Revolution:

Taming

the Beast

Devin Asay

Brigham Young University

devin_asay@byu.edu

http://asay.byu.edu

©2006 Devin N. Asay

 cREVGeneral revUniqueID 1150444626356  Unicode in Revolution:  Taming  the Beast   Devin Asay  2Humanities Technology and Research Support Center 1 Brigham Young University   devin_asay@byu.edu  http://asay.byu.edu   2006 Devin N. Asay @^^^^^^ RevLogo.gif  @`u'-GIF89af3̙f3f3ffffff3f3333f333f3f3̙f3̙̙̙̙f̙3̙ffffff3f3333f333f3̙f3̙̙f3̙f3ff̙ffff3f33̙33f333̙f3ffffff3ffff̙fff3fffffff3ffffffffffff3fff3f3f3f3ff33f3ffffff3f3333f333333̙3f3333333f3333f3f3f3ff3f33f33333333f333333333f333f3̙f3f3ffffff3f3333f333f3,H*\ȰaBUIHŋ3ZTjG? Iɑ'KPUX¡͛8sɳϟ@|b$ǣH*]ʴҔPWJK=b5)1BÊKٳ UR5d۷n+n]xvHqCJBÈ+_#$I٨壗GVٱ_UWAbӨSUVsͮ;Þ 7ڷm{*ɠCZUmѤϛC.9u٥|٣Kӫ_eǏM<)Uށ&hBd%`q'~uTg![.$瞄R_}f}XT ڕxm`Uq^@r(vvH9wMF%yن׹U$`Ӌh}.ߚ2fy5 !O6]Y&By!n7r%~Feo%VJ{/b!H9Ztfl[ZJb6}e&#T~fv٣AUh̍*U뵀y:m})s ZΈҢJuJy,7}IJIaI#!m/&,fIKfLe~Lj cLlk~ro,'lnJ)X~ {2mІrJ*`^9s^)uXn|Fow, _׭bNwˆ-*v}{#e(vGS˩@ j[(7Ayژyލ캹T/PX|Zµ^PS|yGi}1cdbN(jgi;[_so'yMEzS7gOaZF>@rC)\j_`׸kzG' ?tK׈]MgURĵ-k_ !uMvÑ -7Ẏ;X1I/t`w.G"mH3DžRKh,_2I}rQD]snHFI`X\a FH2lIK5G6Ht=P_4jI@hRlʧŹH`$[f?IO`yTS/f2^ sa>8$D4r74DŠa;ϱq1 ZtXٶBdj[d6`3]GaaYJ]}r)ɛѠx-c_UnuWšS,]DWkl)|-"At;w ]CE)Gꌉ xs8٘0}eN@ͨ2sˈ #gسkߊ CЁZ5T &lcY'ޅ*y.wѕr[pcr[SM0eWObbχ  [)Gu&waSBtx{+ہXdꎢ0wƌ2mZ^֠J4<LrLU4@ue,]rk\H4ELL9QW3U M_GKԱ`l:͉c1ȁLh9{Ɔ1ѬaKâӤV5G5 v%w}1L1h[!v]; ˸ާߢ Y1it!qmFWحUΉ需`xX `^̖gA"t@6qhpd♹+úh@cj[>e؝ [_76%^eB1+(̚9*S|-gV>{rGQ٨Y٪JAԜN=,g{YCG$B G駆6>ҵOΞ-;"8?o-d1!G5slzCUW7&4E\DmȔ l4 odtAt9 1??xXhyJLhisXGt8VxIcɚ)vD)ZR3W6#)\J#QB 9BUOxT3SH+zHs$o!wIrE/NjΣrq0jG8wFqؠD3h친6H`f!kr M ; {XayV94@ԃ⤗ ze{e}GzҌ 5veEGeXDqH~9rgވq&Vu^IJZYvmŪSz"I6WP:WCG5%&xthoa-H+~>P涊=_HqrIE~I8@vȧ*j$0C启<:>(Y &l(cz)"ɯd@?"mz46Hgy"#jʗ\ 8(Pg93J{H [V\&cw+4EOY!Xsd^Q%W|KG/Гl)5ESc<JڋAtxfxĥAi{Kۇ4G {9"9 g<˦59cOC[~3-TzI;OSkUwwȺq{]겱Kvr"ьfXYrlyB1G>(`8Z"z m%KhHi;nSLƀcgbcNʤvY"Vm #K~{k#Wɻ hi',}A~ih#̮=w:EZ')Mmh<"* w;L88_Co)){X"_WooNC4ĽIGIܑ BtvfwKNEKgm)ˈ`7Ἡh(\ GHLEF[L3{)G@PWi[,HzSJq"9qة?.[l& ^ɊX}\Qܻ8q 6s=ی,bVS1)$l ek|cŔsVh$^YBwl${AFʈjwr})tG˯xMtI{i{% ]HmgʊDdH%WzՔd( ՏL2 izuEΚjm[iujĈOZO]iEiZ2 UYьo햔Lix]  b˥dv{8wFD꛾zK~i.F*.:eXժ-+zN-cRFˬXAG_>"Ne_!hgGl RuGN&ֽE穡̰*<`4ODhhc*h:^U. .+-W`N jkߴibI.[$<_>"n0.:Ck$(X|LuUkoV ^vއ|ْݢAUbh-ģ,a V)7V}:p78U݀'q@ , g{ɬ'y>s)нJ 3 c0Q>\, i-GR}OۨaWqg_'zdzUgȸ~#٤N#ob '_)%oȂ I禭@XWiU dagt̾ο+]\.┦<>9w V"J L*RUTX"tǎ:~H(GV8pK1eΤ Ȑ!ϋ.$:TцMj(ӇJ6l'OF]aצMRUq"M9rYr-N: Uy> ]uSD:=XPԂP*:b֤K63Ce%D@ɾK]˱eWpӁlzCO‹=Kδ*NfkSiAnzi=Y!yc9CqT!f__qykռBV Ӂ.Ntb =}$Š1߂oƶ+O6@v1H| ' |`T{5{B {|i<9 7d@o=+LŅN'C܊c$I-uH4_ȒZJ2rn?JV0NۋrAMrTH7ߔ MmIqkE>SD4SB3*Ԅ"KdͯGȂ2Դ=N؞SUTȆ/DRH- bT6re!-BA6;ܖQ[גC6IeVE7hk%=j!I+:KGqpUvY E$=igb';ZΚV{-1p+;vM0Q혧Ig"|i{bMJ&e/7pʧؑKf~"t5z_<̝0 EL+ZƁ3qXDC}Kk[J8>"cU2(7+A cgY )3"xsjmVg3a.s@4 )d=-5cB C2j }ع=bPuZ9R@;K`"I<ә| S5 ^ē[{Cb$J`#$_^cLnbݰ8i"eC d9U#;<0&,; E[씻Am @k`7\bނ: afWT͋̍$1GpҸ)QEDdq$ fI$8Mr7L:Ks$<9 -Fx+&@Q3HKj=2(8buis*I@0E=XdƔu08zO~q@#VׁvXlazXML(H?)Fٓl٧$5<N|Om eJ2 妶Fu@hʽW6$ jj)^,p*%% jȡ͉Em"+)uVG9tk> cS>U).8^ŧv9fJZE8s{irr TpbAWc˦U.Hia(+ $ w*J,qlbv(_(z"W8XgzdH*Y6.vq|उIЃ,'~7:MtCNt[GSfg[CqLڎ_6-N=O\%8_98S8{ {9`jòFk 4粀K7t+;+IШ [22Z (@p1/&i9s LA"։ Y_{B2QBU@">!$t¤1t%B1 602-\ü8)CܙI+zi> )4A06 D`BBܦ87E3xi@##t §A"D,,N$DDD*˞;d̀AUz!LQ'V$̨jyQ8!aD刹ZElE1Lې·Cig<$bui!@!2I쵩]T̸FqEEā`FrL%J8kl;NӴŰXw,(Dž|q+}'VY:It }q "Z3"u90|D K $UJ6j,Ejĺ @yTHI9>dIE*{VJ~: 8g$JJQ“R>G3z=p?9KPB8):|'Xqs,hGěA/tzJd+^$,0L]5{$C4HH,W 2 T/IuL l+cɜKyD$-HL{:q͘U4@&DLs디#eĈ'NKLL8{:LSDIOx%2ڬ*TFEV܂ҴH̜QƸc/ÓnAxe H QL9YMcL0}(U ~W,Ƅ7EM5ˌMh 3E 111110 63 ? 3F 111111 64 @ 40 1000000 65 A 41 1000001 66 B 42 1000010 67 C 43 1000011 68 D 44 1000100 69 E 45 1000101 70 F 46 1000110 71 G 47 1000111 72 H 48 1001000 73 I 49 1001001 74 J 4A 1001010 75 K 4B 1001011 76 L 4C 1001100 77 M 4D 1001101 78 N 4E 1001110 79 O 4F 1001111 80 P 50 1010000 81 Q 51 1010001 82 R 52 1010010 83 S 53 1010011 84 T 54 1010100 85 U 55 1010101 86 V 56 1010110 87 W 57 1010111 88 X 58 1011000 89 Y 59 1011001 90 Z 5A 1011010 91 [ 5B 1011011 92 \ 5C 1011100 93 ] 5D 1011101 94 ^ 5E 1011110 95 _ 5F 1011111 96 ` 60 1100000 97 a 61 1100001 98 b 62 1100010 99 c 63 1100011 100 d 64 1100100 101 e 65 1100101 102 f 66 1100110 103 g 67 1100111 104 h 68 1101000 105 i 69 1101001 106 j 6A 1101010 107 k 6B 1101011 108 l 6C 1101100 109 m 6D 1101101 110 n 6E 1101110 111 o 6F 1101111 112 p 70 1110000 113 q 71 1110001 114 r 72 1110010 115 s 73 1110011 116 t 74 1110100 117 u 75 1110101 118 v 76 1110110 119 w 77 1110111 120 x 78 1111000 121 y 79 1111001 122 z 7A 1111010 123 { 7B 1111011 124 | 7C 1111100 125 } 7D 1111101 126 ~ 7E 1111110 127  7F 1111111 128 80 10000000 129 81 10000001 130 82 10000010 131 83 10000011 132 84 10000100 133 85 10000101 134 86 10000110 135 87 10000111 136 88 10001000 137 89 10001001 138 8A 10001010 139 8B 10001011 140 8C 10001100 141 8D 10001101 142 8E 10001110 143 8F 10001111 144 90 10010000 145 91 10010001 146 92 10010010 147 93 10010011 148 94 10010100 149 95 10010101 150 96 10010110 151 97 10010111 152 98 10011000 153 99 10011001 154 9A 10011010 155 9B 10011011 156 9C 10011100 157 9D 10011101 158 9E 10011110 159 9F 10011111 160 A0 10100000 161 A1 10100001 162 A2 10100010 163 A3 10100011 164 A4 10100100 165 A5 10100101 166 A6 10100110 167 A7 10100111 168 A8 10101000 169 A9 10101001 170 AA 10101010 171 AB 10101011 172 AC 10101100 173 AD 10101101 174 AE 10101110 175 AF 10101111 176 B0 10110000 177 B1 10110001 178 B2 10110010 179 B3 10110011 180 B4 10110100 181 B5 10110101 182 B6 10110110 183 B7 10110111 184 B8 10111000 185 B9 10111001 186 BA 10111010 187 BB 10111011 188 BC 10111100 189 BD 10111101 190 BE 10111110 191 BF 10111111 192 C0 11000000 193 C1 11000001 194 C2 11000010 195 C3 11000011 196 C4 11000100 197 C5 11000101 198 C6 11000110 199 C7 11000111 200 C8 11001000 201 C9 11001001 202 CA 11001010 203 CB 11001011 204 CC 11001100 205 CD 11001101 206 CE 11001110 207 CF 11001111 208 D0 11010000 209 D1 11010001 210 D2 11010010 211 D3 11010011 212 D4 11010100 213 D5 11010101 214 D6 11010110 215 D7 11010111 216 D8 11011000 217 D9 11011001 218 DA 11011010 219 DB 11011011 220 DC 11011100 221 DD 11011101 222 DE 11011110 223 DF 11011111 224 E0 11100000 225 E1 11100001 226 E2 11100010 227 E3 11100011 228 E4 11100100 229 E5 11100101 230 E6 11100110 231 E7 11100111 232 E8 11101000 233 E9 11101001 234 EA 11101010 235 EB 11101011 236 EC 11101100 237 ED 11101101 238 EE 11101110 239 EF 11101111 240 F0 11110000 241 F1 11110001 242 F2 11110010 243 F3 11110011 244 F4 11110100 245 F5 11110101 246 F6 11110110 247 F7 11110111 248 F8 11111000 249 F9 11111001 250 FA 11111010 251 FB 11111011 252 FC 11111100 253 FD 11111101 254 FE 11111110 255 FF 11111111 `mASCIIexon mouseUp show fld "ascii" show fld "hdrs" put empty into fld "ascii" repeat with i = 0 to 255 put i & tab & numToChar(i) & tab & baseconvert(i,10,16) & tab & baseconvert(i,10,2)into line i+1 of fld "ascii" end repeat end mouseUp jz"S Show ASCII cREVGeneralscriptChecksum>q3I؏I]@ revUniqueID 1150456212305 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 48 to 47scriptD

on mouseUp

show fld "ascii"

show fld "hdrs"

put empty into fld "ascii"

repeat with i = 0 to 255

put i & tab & numToChar(i) & tab & baseconvert(i,10,16) & tab & baseconvert(i,10,2)into line i+1 of fld "ascii"

end repeat

end mouseUp

hdrs T&(Px cREVTable currentview%

dec. char hex. binary

 cREVGeneral revUniqueID 1150457570156 dec. char hex. binary  content) Black@@t  cREVTable currentvscroll0currentxmouseloc99currenthscroll0currentymouseloc151scrollbarwidth20 cellyspacing64rightfieldloc444numbertabstops0 cellxspacing0 leftfieldloc98 topfieldloc158 currentview

Unicode provides a unique number for every character,

no matter what the platform,

no matter what the program,

no matter what the language.

-from unicode.org

bottomfieldloc626 cREVGeneral revUniqueID 1150457861713  6Unicode provides a unique number for every character, @5 no matter what the platform, @ no matter what the program, @ no matter what the language. @  @  -from unicode.org @ unicodechartew[on mouseUp revGoUrl "http://www-atm.physics.ox.ac.uk/user/iwi/charmap.html" end mouseUp ~zQGo to Unicode Chart cREVGeneralscriptChecksumlڤCB2 bookmarks revUniqueID 1150458986178 handlerListmouseUpscriptSelection char 78 to 77 prevHandler tempScriptscript

on mouseUp

revGoUrl "http://www-atm.physics.ox.ac.uk/user/iwi/charmap.html"

end mouseUp

defGrpiJ&  cREVGeneral revUniqueID 1150459678227 term)H@N? cREVTable currentviewthe fontLanguage function cREVGeneral revUniqueID 1150459562606 # the fontLanguage function " uniEncode() function @ ! uniDecode() function   the unicodeText property  the useUnicode property @  byte order  UTF-16  UTF-8  double-byte character  double-byte font  Unicode  character  definition) @j cREVGeneral revUniqueID 1150459638040 # 6Returns the language associated with a unicode font. 5 " 3Converts a string from single-byte text to UTF-16. dictionary/keyword/1562.xml   )../glossary/singledashbyte_character.xml " 2This function always returns UTF-16 encoded text.  $  ! .Converts unicode UTF-16 to single-byte text. -  ,Most often used to convert UTF-16 to UTF-8. +  OA fields text encoded as Unicode (compare to the htmlText property of fields) 2>@N ?> @CAA:8. % & % & % &"' htmlTextE'Kon mouseUp put the htmlText of fld "unifld" into fld "dest" end mouseUp "/q cREVGeneralscriptChecksum G!jH3 revUniqueID 1150462141339 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 62 to 61script

on mouseUp

put the htmlText of fld "unifld" into fld "dest"

end mouseUp

( unicodeTextE'Non mouseUp put the unicodeText of fld "unifld" into fld "dest" end mouseUp /w cREVGeneralscriptChecksum,E"ϥ5 revUniqueID 1150462188948 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 29 to 28script

on mouseUp

put the unicodeText of fld "unifld" into fld "dest"

end mouseUp

)dest)h s cREVGeneral revUniqueID 1150462198251  * ` q+ fontlange'son mouseUp ask "Show the fontLanguage for which font?" put the fontLanguage of it into fld "dest" end mouseUp |/uSee fontLanguage... cREVGeneralscriptChecksumJt8j@4=f=f) revUniqueID 1150462749661 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 84 to 83script2

on mouseUp

ask "Show the fontLanguage for which font?"

put the fontLanguage of it into fld "dest"

end mouseUp

,dest)h s cREVGeneral revUniqueID 1150462749638 # - `q /fld1LBL PA cREVTable currentview

Field "top":

 cREVGeneral revUniqueID 1150463179887 Field "top": 0top)hRZh cREVGeneral revUniqueID 1150463179984 . -The quick brown fox jumps over the lazy dog. 1fld2LBL P cREVTable currentview

Field "bottom"

 cREVGeneral revUniqueID 1150463180095 Field "bottom" 2bottom)hRh cREVGeneral revUniqueID 1150463180172 . / ;N1;N B51O. + , + ,  + ,3 checkuniex +on mouseUp ask "Check which field?" if it is empty then exit mouseUp put it into fldName if the effective textFont of word 1 of field fldName contains comma then answer "Field " & fldName & " is Unicode!" else answer "Field " & fldName & " is NOT Unicode!" end if end mouseUp J<u#Check to see if a field is unicode cREVGeneralscriptChecksum%De<(Kr bookmarks revUniqueID 1150463180312 handlerListmouseUpscriptSelection char 74 to 73 prevHandlermouseUp tempScriptscript

on mouseUp

ask "Check which field?"

if it is empty then exit mouseUp

put it into fldName

if the effective textFont of word 1 of field fldName contains comma then

answer "Field " & fldName & " is Unicode!"

else

answer "Field " & fldName & " is NOT Unicode!"

end if

end mouseUp

4 definition) @Tx cREVGeneral revUniqueID 1150463349074 . Examine the textFont of the chunk (e.g., line or word), not the textFont of the field. If there is a comma in the textFont, it's unicode @ : definition) @Ppx cREVGeneral revUniqueID 1150463877938 5 ,Examining the numeric values of characters. @+ ;fld1LBL PA cREVTable currentview

Field "top":

 cREVGeneral revUniqueID 1150464099578 Field "top": <top)h.R[@ cREVGeneral revUniqueID 1150464099664 5 -The quick brown fox jumps over the lazy dog. =fld2LBL P cREVTable currentview

Field "bottom"

 cREVGeneral revUniqueID 1150464099765 Field "bottom" >bottom)h.R@ cREVGeneral revUniqueID 1150464099855 5 / ;N1;N B51O. 0 . 0 .  0 . ?col1Lbl d cREVGeneral revUniqueID 1150464206739 Encoding for first character @col2Lbl d cREVGeneral revUniqueID 1150464206831 %Reverse encode (number back to char)Aonebytechartonumexon mouseUp ask "Get numeric code for which character?" put charToNum(char it of fld "top") into fld "info" end mouseUp Z$charToNum(char n of fld "top") cREVGeneralscriptChecksum?b5Eq)O4X bookmarks revUniqueID 1150464207148 handlerListmouseUpscriptSelection char 12 to 57 prevHandlermouseUp tempScriptscriptO

on mouseUp

ask "Get numeric code for which character?"

put charToNum(char it of fld "top") into fld "info"

end mouseUp

BonebytenumtocharexDon mouseUp put numToChar(fld "info") into fld "info" end mouseUp [$numToChar(fld "info") cREVGeneralscriptChecksumiZ3@Z7'jAz revUniqueID 1150464207149 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 38 to 37script

on mouseUp

put numToChar(fld "info") into fld "info"

end mouseUp

Cinfo)h.T'&" cREVGeneral revUniqueID 1150464207121 Dfld2LBL R cREVTable currentview

Field "info"

 cREVGeneral revUniqueID 1150464358468 Field "info"Fonebytechartonumexon mouseUp ask "Get numeric code for which character of bottom field?" put charToNum(char it of fld "bottom") into fld "info" end mouseUp d$"charToNum(char n of fld "bottom") cREVGeneralscriptChecksumkV2Ʋ_% revUniqueID 1150464932078 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 116 to 115scriptb

on mouseUp

ask "Get numeric code for which character of bottom field?"

put charToNum(char it of fld "bottom") into fld "info"

end mouseUp

GonebytenumtocharexDon mouseUp put numToChar(fld "info") into fld "info" end mouseUp d$numToChar(fld "info") cREVGeneralscriptChecksumiZ3@Z7'jAz revUniqueID 1150464932107 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 55 to 54script

on mouseUp

put numToChar(fld "info") into fld "info"

end mouseUp

Honebytechartonumexon mouseUp ask "Which unicode character to you want to examine?" with "x to y" if it is empty then exit to top put word 1 of it into c1 put word 3 of it into c2 set the useUnicode to true put charToNum(char c1 to c2 of fld "bottom") into fld "info" end mouseUp h$charToNum( ) for Unicode cREVGeneralscriptChecksumf];c|tD T revUniqueID 1150465348577 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 155 to 154script#

on mouseUp

ask "Which unicode character to you want to examine?" with "x to y"

if it is empty then exit to top

put word 1 of it into c1

put word 3 of it into c2

set the useUnicode to true

put charToNum(char c1 to c2 of fld "bottom") into fld "info"

end mouseUp

Iunicodenumtocharexron mouseUp set the useUnicode to true set the unicodeText of fld "info" to numToChar(fld "info") end mouseUp h$numToChar( ) for Unicode cREVGeneralscriptChecksumFiυ z74 revUniqueID 1150465348613 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 40 to 39scriptS

on mouseUp

set the useUnicode to true

set the unicodeText of fld "info" to numToChar(fld "info")

end mouseUp

J definition) @Ppx cREVGeneral revUniqueID 1150466016620 6 $Entering Unicode text into a field. @# PWorks well for most languages; problematic for languages written right to left. @O Ltyping)h2 R OcCurrentObjectZstack "/Users/asayd/Classes/CHum 381/381_CourseDocs/10 - Rev and Unicode/unicodeInRev.rev" cREVGeneral revUniqueID 1150466099648 6 M definition) @Ppx cREVGeneral revUniqueID 1150466500426 7 &Moving chunks of text between fields. @%N twobytechar2ex[on mouseUp set the unicodeText of fld "info" to char 1 to 2 of fld "bottom" end mouseUp $!char 1 of fld "bottom" (unicode) cREVGeneralscriptChecksum >|RVN]A_=d bookmarks revUniqueID 1150467321392 handlerListmouseUpscriptSelection char 78 to 77 prevHandlermouseUp tempScriptscript

on mouseUp

set the unicodeText of fld "info" to char 1 to 2 of fld "bottom"

end mouseUp

O twobytechar2exvon mouseUp set the unicodeText of fld "info" to word 1 to 2 of \ the unicodeText of fld "bottom" end mouseUp $&word 1 to 2 of fld "bottom" (unicode) cREVGeneralscriptChecksumeCayD&(˺P revUniqueID 1150467321421 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 74 to 73script

on mouseUp

set the unicodeText of fld "info" to word 1 to 2 of \

the unicodeText of fld "bottom"

end mouseUp

Uinfo)h.tG" cREVGeneral revUniqueID 1150467343716 Tfld2LBL r. cREVTable currentview

Field "info"

 cREVGeneral revUniqueID 1150467343806 Field "info" Sbottom)h.r@cCurrentObjectZstack "/Users/asayd/Classes/CHum 381/381_CourseDocs/10 - Rev and Unicode/unicodeInRev.rev" cREVGeneral revUniqueID 1150467343895 7 / ;N1;N B51O. 0 . 0 .  0 . "K <5=O ;N18HL? 8 9 8 9  8 9 Rfld2LBL p cREVTable currentview

Field "bottom"

 cREVGeneral revUniqueID 1150467344004 Field "bottom" Qtop)h.r{@ cREVGeneral revUniqueID 1150467344096 7 -The quick brown fox jumps over the lazy dog. FNow is the time for all good men to come to the aid of their country. Pfld1LBL pa cREVTable currentview

Field "top":

 cREVGeneral revUniqueID 1150467344188 Field "top":V onebytecharexBon mouseUp put char 1 of fld "top" into fld "info" end mouseUp f$char 1 of fld 1 cREVGeneralscriptChecksumb ù3Nx revUniqueID 1150467395740 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 37 to 36script

on mouseUp

put char 1 of fld "top" into fld "info"

end mouseUp

Wcol1Lbl d  cREVTable currentview%

What we’re used to doing:

 cREVGeneral revUniqueID 1150467445725 What were used to doing: Xcol1Lbl   cREVTable currentview!What you have to do with Unicode: cREVGeneral revUniqueID 1150467495412 "What you have to do with Unicode:Y onebytewordexGon mouseUp put word 1 to 2 of fld "top" into fld "info" end mouseUp f$word 1 to 2 of fld 1 cREVGeneralscriptChecksumx7r+}tLLYa bookmarks revUniqueID 1150467549776 handlerListmouseUpscriptSelection char 29 to 28 prevHandlermouseUp tempScriptscript

on mouseUp

put word 1 to 2 of fld "top" into fld "info"

end mouseUp

Z onebytelineexBon mouseUp put line 2 of fld "top" into fld "info" end mouseUp h$$line 2 of fld 1 cREVGeneralscriptChecksumuO-$~H revUniqueID 1150467716814 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelection char 22 to 21script

on mouseUp

put line 2 of fld "top" into fld "info"

end mouseUp

[ twobytechar2exion mouseUp set the unicodeText of fld "info" to the unicodeText of line 2 of fld "bottom" end mouseUp %$!line 2 of fld "bottom" (unicode) cREVGeneralscriptChecksumjrߕ bookmarks revUniqueID 1150467854328 handlerListmouseUpscriptSelection char 70 to 69 prevHandlermouseUp tempScriptscript

on mouseUp

set the unicodeText of fld "info" to the unicodeText of line 2 of fld "bottom"

end mouseUp

\ definition) @Ppx cREVGeneral revUniqueID 1150468516525 8 Reading a text file. @ ] definition) @Ppx cREVGeneral revUniqueID 1150468523523 9 Saving Unicode text to a file. @^readinex'on mouseUp answer file "Choose a unicode file to read in." if it is empty then exit mouseUp put "binfile:" & it into urlName set the textfont of line 1 of fld "display" to empty set the unicodeText of fld "display" to url urlName end mouseUp 7$ Read Unicode (UTF-16) Text file cREVGeneralscriptChecksumE @Yn6 revUniqueID 1150468639996 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 107 to 106scriptb

on mouseUp

answer file "Choose a unicode file to read in."

if it is empty then exit mouseUp

put "binfile:" & it into urlName

set the textfont of line 1 of fld "display" to empty

set the unicodeText of fld "display" to url urlName

end mouseUp

_display)hblpcCurrentObjectZstack "/Users/asayd/Classes/CHum 381/381_CourseDocs/10 - Rev and Unicode/unicodeInRev.rev" cREVGeneral revUniqueID 1150468639886 8 ` ` qa readinplainex'on mouseUp answer file "Read in ASCII text file..." if it is empty then exit mouseUp put "file:" & it into urlName put url urlName into fld "display" end mouseUp T$7Read ASCII Text File cREVGeneralscriptChecksum@h bookmarks revUniqueID 1150468713762 handlerListmouseUpscriptSelectionchar 158 to 157 prevHandlermouseUp tempScriptscript

on mouseUp

answer file "Read in ASCII text file..."

if it is empty then exit mouseUp

put "file:" & it into urlName

put url urlName into fld "display"

end mouseUp

bgetUni8ex'on mouseUp answer file "Choose a UTF-8 file to read in." if it is empty then exit mouseUp put url ("binfile:" & it) into tRaw set the unicodetext of fld "display" to uniencode(tRaw,"UTF8") end mouseUp (7 5Read Unicode (UTF-8) Text File cREVGeneralscriptChecksum<\ijXa revUniqueID 1150468756335 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 106 to 105script

on mouseUp

answer file "Choose a UTF-8 file to read in."

if it is empty then exit mouseUp

put url ("binfile:" & it) into tRaw

set the unicodetext of fld "display" to uniencode(tRaw,"UTF8")

end mouseUp

ccol1Lbl d  cREVTable currentview%

What we’re used to doing:

 cREVGeneral revUniqueID 1150488335481 What were used to doing: dcol1Lbl   cREVTable currentview!What you have to do with Unicode: cREVGeneral revUniqueID 1150488335618 "What you have to do with Unicode:esaveex'on mouseUp --put uniencode(fld 1,"utf8") into uniTxt --put uniTxt ask file "Save file as..." if it is empty then exit mouseUp put "binfile:" & it into urlname put the unicodeText of fld "typing" into url urlname end mouseUp $3Save Unicode text cREVGeneralscriptChecksum Q`A` p bookmarks revUniqueID 1150488809696 handlerListmouseUpscriptSelectionchar 207 to 206 prevHandlermouseUp tempScriptscript

on mouseUp

--put uniencode(fld 1,"utf8") into uniTxt

--put uniTxt

ask file "Save file as..."

if it is empty then exit mouseUp

put "binfile:" & it into urlname

put the unicodeText of fld "typing" into url urlname

end mouseUp

ftyping)h2 RcCurrentObjectZstack "/Users/asayd/Classes/CHum 381/381_CourseDocs/10 - Rev and Unicode/unicodeInRev.rev" cREVGeneral revUniqueID 1150488836200 9 Type some unicode text here. gcol1Lbl p  cREVTable currentview%

What we’re used to doing:

 cREVGeneral revUniqueID 1150489441623 What were used to doing: hcol1Lbl   cREVTable currentview!What you have to do with Unicode: cREVGeneral revUniqueID 1150489441743 "What you have to do with Unicode:isavetxtex'on mouseUp --put uniencode(fld 1,"utf8") into uniTxt --put uniTxt ask file "Save file as..." if it is empty then exit mouseUp put "file:" & it into urlname put fld "typing" into url urlname end mouseUp $7 Save Text cREVGeneralscriptChecksumo.)*$eY # revUniqueID 1150489476407 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 142 to 141scriptx

on mouseUp

--put uniencode(fld 1,"utf8") into uniTxt

--put uniTxt

ask file "Save file as..."

if it is empty then exit mouseUp

put "file:" & it into urlname

put fld "typing" into url urlname

end mouseUp

j saveutf8ex'on mouseUp --put uniencode(fld 1,"utf8") into uniTxt --put uniTxt ask file "Save file as..." if it is empty then exit mouseUp put "binfile:" & it into urlname put unidecode(the unicodeText of fld "typing","utf8") into url urlname end mouseUp 6$5Save Unicode UTF-8 text cREVGeneralscriptChecksum[c"_Mc( revUniqueID 1150489749459 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 225 to 224script

on mouseUp

--put uniencode(fld 1,"utf8") into uniTxt

--put uniTxt

ask file "Save file as..."

if it is empty then exit mouseUp

put "binfile:" & it into urlname

put unidecode(the unicodeText of fld "typing","utf8") into url urlname

end mouseUp

nuniMenu mBd 1oneone two three cREVGeneral revUniqueID 1150491002421 bookmarks handlerList tempScript prevHandlerscriptSelection char 1 to 0script punifld)h'& cREVGeneral revUniqueID 1150491063830 l >48= 8 420 8 B@8 8 G5BK@5 8 ?OBL 8 H5ABL 8 A5<L 8 2>A5<L 8 452OBL 8 45AOBL 8 q `#$s makeunimenuex'on mouseUp set the textFont of btn "unimenu" to "Arial,russian" set the text of btn "unimenu" to the unicodetext of fld "unifld" end mouseUp b&5Use Unicode Text in Menu > cREVGeneralscriptChecksumjڳ|޹ :, revUniqueID 1150491305458 bookmarks handlerListmouseUp tempScript prevHandlermouseUpscriptSelectionchar 133 to 132scriptH

on mouseUp

set the textFont of btn "unimenu" to "Arial,russian"

set the text of btn "unimenu" to the unicodetext of fld "unifld"

end mouseUp

ttxtfld)h't& cREVTable currentview=

Green

Red

Blue

Yellow

Purple

Orange

Pink

Teal

 cREVGeneral revUniqueID 1150491957300 l Green C Red C Blue C Yellow C Purple C Orange C Pink C Teal Cu `$ vcol1Lbl b  cREVTable currentview%

What we’re used to doing:

 cREVGeneral revUniqueID 1150492051399 What were used to doing: wcol1Lbl L  cREVTable currentview!What you have to do with Unicode: cREVGeneral revUniqueID 1150492051483 "What you have to do with Unicode:x puttxtinmenuex'yon mouseUp set the textfont of btn "unimenu" to "Arial" put the text of fld "txtfld" into btn "unimenu" end mouseUp ..&7< Use Regular Text in Menu cREVGeneralscriptChecksumoS*%wgAvW bookmarks revUniqueID 1150492072227 handlerListmouseUpscriptSelection char 14 to 13 prevHandlermouseUp tempScriptscript4

on mouseUp

set the textfont of btn "unimenu" to "Arial"

put the text of fld "txtfld" into btn "unimenu"

end mouseUp

z definition)2 @Hp cREVGeneral revUniqueID 1150492887459 y Situation: You need to dynamically change the unicode text label of a button. You cleverly store the different unicode label strings in custom properties, and pull the appropriate label out as needed: @ @ 0 set the textFont of me to "Geneva CY,Russian" @/ + set the label of me to the russLbl of me @* @| changingbtn`eG on mouseUp if the hilite of me then set the textfont of me to "Arial,russian" set the label of me to the russLbl of me else set the textfont of me to "Arial" set the label of me to "English" end if end mouseUp %%@L.russLbl CAA:89 O7K:English cREVGeneralscriptChecksum9[KQ1s bookmarks revUniqueID 1150493130021 handlerListmouseUpscriptSelectionchar 212 to 211 prevHandlermouseUp tempScriptscript

on mouseUp

if the hilite of me then

set the textfont of me to "Arial,russian"

set the label of me to the russLbl of me

else

set the textfont of me to "Arial"

set the label of me to "English"

end if

end mouseUp

} definition)2 @H cREVGeneral revUniqueID 1150493544233 y However, when you move your stack from Mac to Windows (or vice-versa) you notice that the unicode label is scrambled. You have just been bitten by byte order. @ @ Solution: @ < Store the label text in the custom property as HTML text. @; 8 Store the label text in the custom property as UTF-8. @7 @  definition)2 @Hp cREVGeneral revUniqueID 1150493808393 ~  ASCII-range characters, like space and period, embedded in unicode text are placed into Rev fields as single-byte characters, throwing off the byte-count if you're parsing through the text. I believe this is done so that chunks like word and line are still recognized. @ fld2LBL X  cREVTable currentview

Field "uniText"

 cREVGeneral revUniqueID 1150493904526 Field "uniText" uniText)h.Z8@ cREVGeneral revUniqueID 1150493904641 ~ / ;N1;N B51O. 0 . 0 .  0 . "K <5=O ;N18HL? 8 9 8 9  8 9  showhtml)hi XcCurrentObjectZstack "/Users/asayd/Classes/CHum 381/381_CourseDocs/10 - Rev and Unicode/unicodeInRev.rev" cREVGeneral revUniqueID 1150493960102 ~  `Demoex'Son mouseUp put the unicodeText of fld "unitext" into fld "showHtml" end mouseUp 0~"QDemonstrate this problem cREVGeneralscriptChecksumKF5kD~B bookmarks revUniqueID 1150494017303 handlerListmouseUpscriptSelection char 33 to 32 prevHandlermouseUp tempScriptscript

on mouseUp

put the unicodeText of fld "unitext" into fld "showHtml"

end mouseUp

 definition)2 @Hp" cREVGeneral revUniqueID 1150494393086  lUnicode implementation in Revolution is not perfect, but it is usable, if you are aware of its limitations. @k @ Some remaining problems: @ H Right to left languages like Arabic and Hebrew do not perform well. @G @ k A few large character glyphs are not rendered properly (they can be cut off on the top or the bottom.) @j @ p Sorting unicode text is problematic, but can be somewhat fixed by rolling your own custom sorting function. @o @ J Sometimes the chosen font for a unicode string is not honored by Rev. @I @ @  definition)H0@Hp" cREVGeneral revUniqueID 1150494935769  0 Questions @&& @R& @% >?@>AK? @I @J * Vragen? @J" @"  Fragen? @J @J 1 Ȼ8 UO H K H L, L ,000000000000? L M O* OgoKenjiex'=on mouseUp ## Kenji Kojima is a Revolution developer in Japan and contributes ## regularly to the use-revolution mail list. He created this stack as an ## example of how to display Unicode text in menus. go stack url "http://revolution.byu.edu/unicode/UnicodeFontmenu.rev" --in new window end mouseUp 0vZ$SGo to Kenji Kojimas Stack cREVGeneral scriptChecksumCGYc1 handlerListmouseUpscriptSelectionchar 206 to 205 bookmarks revUniqueID 1150495905735scripteditorvscroll0scripteditorselection216 prevHandlermouseUp tempScriptscript

on mouseUp

-- answer file "Find the Unicode Fontmenu stack."

-- if it is empty then exit to top

-- go stack it in new window

go stack url "http://revolution.byu.edu/unicode/UnicodeFontmenu.rev" --in new window

end mouseUp

big-endian.png @X6%mPNG  IHDR%G%iCCPICC ProfilexMkQIhHDAԴ#iId23MF30s?("T\uQT.D )%.ƙxs^y= uն!j'\,M"0LY\{RQ{HUۮ[y煈5q}Db RU=N vSj= ^Ѫǯh@UH[@ EjJtW hYMuf;b,{OpnzS=vz ˩$ҡUx.I8v! k{Ziٗ$mrof/O§~<]BfcGa.(i( Rvª|`֗ύJφ;Ԙ3Ymwj%JSS>hw+^ jtuj*17:,[ Ӵo;f&Iۮri-a8q9&r28 Ѩ8x`IDATx{@ ((( Lihhh~g###w ǭ`ggg pyyyC9{,W "((HBBbRrr2yΝc_(..eǏbP#l``LGGg\ɓ$,..oiii}fl}}Ꮻ۷U> jw533F^^tنΆ***vuu׳nOHH077SYQQyfv?}լyyy9{±Y ~lhh2@$HУa8---𣐐P]]cGo>|hff h|رgώ0gdDL&3vX)߿,500 ..zjOOOAA 4H$~y۷GGGNT%Qc?{9]Ah4?DDDDܪ;DgΜ6Q;`l$%%T^`qluM#WWג~ mLOOg^ϭt:J]b:W^^^׮]sppA۝XUF$$$q#=?YV;:::opS3mmm[nm޼yŊnnnǔtѣGjkk}||/^ˋ*YYǏWVVlmmAa0}<`?`llﯮl2???sj8ؘftaԩS="HVVV!!!_Ѐ_Q(/_b;pXՅ0:M۲RRR ={v``O?dff &]?Ksss6l`GGCCCYYYVVm5ki`yyyYZZc ;8Gadd hX1ŶNNN($vq++gVVVvvvR( x7n$''0%%%^^3g0nG_MM <ؘfjmmeCCCOOOƙC"xm8F?~@jjj珍CUUUԸ'sGGG2꽉˗B__ưg`?M?+,,իs碍11UV1믿*))2JҊRfjj:wݻwرq{}}=,2J6Coߺu_\\܉'֮])((xu>>۷o777c#j ''waPsijjqqqͼO86rss?|'OtLL HvFFF>wBCC1qO6445%%nܸeee555t:Çl``1Y4 (`aaa𫀀ٹ";;{߾}D"nϷbi,aÆ7n0n e}}?w//oPP>>8, Ey8+AÅ F !kkkɓ'Y䀟UTTD,777333Ƽ.<L"""DTTT9beemPCCæM`J^^>%%[ߊA!!!͐KblJtùիWc8쨍 剈aSSL7nD/_71&K%&&2w8|CJJJSS… WPy֭[aݻwh  [ZZ2v //ٳT;}4 h@###gg-[`6nӦMp,~}F#YAbWWN'hɘkOP`Fz{{a\YYM؈6r0CLL-b_ 2dll,$$+;v,==}[i222P%O͛qгNhpOOet{zz3.gR#SͰs?fFKTUUQR>|ݻW*))bv MJNsPʕ+i4uyy:hJ,]}lpbT60ʇ9r,_uu}SPRR;MU-[GGdd$K$ illĐ"^2&}TUUefdf/, r/lmmӪ*+t3+((755uDFFVTTȈ.c-Mme8::ݽ ־y󦀀@pp0FaC"dee.\fYH$hQ(qqqWWW555EEEB|}6,߿:0v hnn~4BN<)'''++`LIII...( 3X v? LsYh\Cӣ|||nnn,Esss]]]&N|AjkkRSSܘ8k\յvZ___oo5kx{{/^U(((y)h4&J8ڀH.joo{.6ΞplLY3f̘?ܺuL&xn$-Se!+i+r&122P(0 ŋ-8x 4Ύq^&ϦNɓ'0 -OJݻ~GãN&L1 3jNNNϞ=7H tuuԦ6XSScff'N())µ󞞞W\!::::::{쑐x=|~3#AAAcc㤤uIKKdɒ{a 3gAMj&TfffhhhXXcǬ͛jgg7Qf3gAAA2uday׮]/_644dHaQZZ:00 ((k׮1e0{`` //>pQQQaa!G^œg:OJKK(DCCchh}N7oc{$÷bW3۷oKJJ222)@?jEEE. yEOOCUUUqq0;{S^2mm턄*:QM*zU8'^J;rfj)w1<<|___pB{{{EEE+((HMMʂ* UmWL_/x۷|g +~i~:33FIJJΟ?_AAd̙mL_¡ht:#{eKGǙ.fpppppp?]p?]p?]uw IENDB` cREVGeneral revUniqueID 1173293538142little-endian.png @Zl!RPNG  IHDR!CiCCPICC ProfilexMkAnH (Ȋ{*RB[Fҗb6fuwA ' xi-ůJ/a ŋyyȮjY0]zEH8EUsBac'Iղ:>~~9qZoˀZ.-@Z] aW@-hM ]cn8 ; 80͞5f.DdV+p^p2M)[Q#@8YIN.C}xy?C=/AZoװ:~_HX܁U8 {@o+1`wwk gigs-]oT aN~!nJ[ѭA)ܯ3Z|`, `l6 ~kun7[88(--)'T*D" r'/6%wG*))ݻwM\WWF 䜜gZ222>ĥKc{n(t666EpYYYK:>~ddDZW4-----qK>{,))iIhvvدbbb8,,Kbjjjyyy3&;;~㓓mkk7nda'$$*,//_]] HOOߺu+; /={vܯ,--yxxkn,--322-L <<<\]] ЌCCC---𣀀@]]cX }IOOF'Ο?Ϧ&eS__D%'_]PP`ddk'ɟ?L߹sgttQ맧xٳhh) 4KUUgddܹsBBBPg`A\\}TE1 |3ܾ}U\RRRVV e3/ \&:NRWZJ[[ƍvvvRRR(UɈQa#ߎ,X*`cc۞B65ALy$&ٳg]6,, .V\\|!ii3gΠ3mmm--;wlݺuժU...kA\r~ZooKAZZɓkkkxQhoo?z(T87XݻǼhplp\K>s̓'O\]]-,,BBB޾}P(_v!0 aaatgNXV)))imm̝;700PQQQHH~011а\Mة@MMMQQQZZeΙ3GDD1byzzȘc֭ &N8```hennnVKKK;y򤅅+++;;;) ByQ||R[[Ç٩֭[HϹsVSSêL686MhY__ÃqL&߽{_ObhYbccNUUUzz:i'˗>hUSSc\&z{{4 kYYiiX߼yS__?|Yf ~gRT*U݌ϟw]v1Ä2㼃9ۻs΀@__utt|}}N:~zoooHtM^^޻w677cÇ0H .*))̎8d^ϟ?ӧ!d23 g222pf  mZ[[:;;͛7À&I?~ zzzT˄ct: ,,~8::VTTdgg8pL&|sssOOOW6mjmmucHpp0LΔnۃxxx`=zn:ooo++?իW Yŋcǎa09ǏG9͛7oEJJ֖yimplp޼y6lNKKKccYᨨ(߿~s\Ac`:ĢqC'APP@455]\\bbb&&&ׯǠϸLaXW\ '""B]]ƲaHlڴ)&&%$$dݺu0̙3e777!ɇ)nܸرc P(<Hx@pQZZʪqq@e㉁mmm7o^rr28ik݄VTckW†m۶MK*z5 2IkLMM/]cV hjj:wܡCRSSVVVZI°`d~ @\\fݟyMF3 PT1<<9_JXYYZ[[W^Es K, !~0mooGlrOGG %%m 68~307&о6gAK&&&9%CߎMĮY&!! áѿ,i\\'&a|Z]];_ͩvÇryu堠 l{{{̐ե \ru?u5eeeӧOaP1tBLBB5ZPա3.3D"ɩ+>>L&={6$$SuPNW;X˖-R+Èx uppXccNyy9@XX8>>*A H ϟQ}Ƹ0<ʢE<::zyv/_G nB F@ܜ@ ō ( L///hݥK`ࠥ%k2*//3YYY...&&&V333L:"""Fy;faa [l'YYٔl'm C6q3[\\ 7֮]VVV7oLKK#m\>>^^^֭Zt)*^PP %%VCgH$FEE1'`Gr߿Mg\&Y233544;wz H$Hfx9pMd@VV ;n&100P(0VK,;|0TƆՈI4 #3DjjDgi={fgg7Q{UQQQ< HTUUgc?.HsppxENNθC2#&&&Ԙ} YYYf*"HIII6lUlٲe111PUUE27ٳYjZ7A$$$233CCCc`EEE544.^8Ք7nܸ`VVfrssI$<9SbazϞ=W^gJa^RR200 @"TUUøΎ&f | 9yҠȑ#L3t0{.??ohM$## H˗/,VTT9b!^fW*..bGDLpf@R'*IR_d2͛7 &QLpfK.ŋ˓//oAAAjjjVV "yiݿ nL[vyݔLwcxmfffeeeEEEeeemm-F_pٳgZ/paBt:G-9wӗ nXqppp8W  78888ĸ+sIENDB` cREVGeneral revUniqueID 1173293594864 big-littleLbl)H'@:j cREVTable currentviewBig-endian: Little-endian: cREVGeneral revUniqueID 1173716662949  Big-endian: Little-endian:OvalK  2h cREVGeneral revUniqueID 1173716853602LineKF rr 2  cREVGeneral revUniqueID 1173716968506startKTon mouseDown set the blendLevel of me to 50 end mouseDown on mouseUp set the blendLevel of me to 100 visual effect dissolve go next end mouseUp on mouseRelease set the blendLevel of me to 100 end mouseRelease oo NNh cREVGeneralscriptChecksum z#CTQj_ '5 revUniqueID 1229636994269 bookmarks handlerListmouseDown mouseUp mouseRelease tempScript prevHandler mouseDownscriptSelectionchar 205 to 204scriptX

on mouseDown

set the blendLevel of me to 50

end mouseDown

on mouseUp

set the blendLevel of me to 100

visual effect dissolve

go next

end mouseUp

on mouseRelease

set the blendLevel of me to 100

end mouseRelease

 answerDialogexjQon mouseUp answer information the htmlText of fld "russPrompt" end mouseUp x*QAnswer Dialog cREVGeneral scriptChecksumT<'QkY ;O handlerListmouseUpscriptSelection char 33 to 32 revUniqueID 1229639603010 bookmarksscripteditorvscroll0scripteditorselection0 tempScript prevHandlermouseUpscript

on mouseUp

answer information the htmlText of fld "russPrompt"

end mouseUp

 russPrompt)h; cREVTable currentview cREVGeneral revUniqueID 1229639603011  *0: 20H5 8<O 8 D0<8;8O? l  l  l  l  l ( askDialogexjvon mouseUp ask information the htmlText of fld "russPrompt" set the unicodeText of fld "result" to it end mouseUp w\*W Ask Dialog cREVGeneral scriptChecksum["h]Sה%' handlerListmouseUpscriptSelectionchar 105 to 104 bookmarks revUniqueID 1229639603012scripteditorvscroll0scripteditorselection0 prevHandlermouseUp tempScriptscript

on mouseUp

ask information the htmlText of fld "russPrompt"

set the unicodeText of fld "result" to it

end mouseUp

result)`-V: cREVGeneral revUniqueID 1229639603013   subtitle)z*xx@N ; cREVTable currentviewNew in Revolution 2.9! cREVGeneral revUniqueID 1229641830491  New in Revolution 2.9! code)~@T,8 cREVTable currentviewY

set the unicodeTitle of this stack to the unicodeText of fld "russTitle"

 cREVGeneral revUniqueID 1229641830492  Iset the unicodeTitle of this stack to the unicodeText of fld "russTitle" changeTitle`e| on mouseUp put the title of this stack into sEnglishTitle if the hilite of me then set the unicodeTitle of this stack to the unicodeText of fld "russTitle" else set the title of this stack to "Unicode and Internationalization" end if end mouseUp @*2Russian Stack Title cREVGeneralscriptChecksum d>2BBa bookmarks revUniqueID 1229641830493 handlerListmouseUpscriptSelectionchar 149 to 148 prevHandlermouseUp tempScriptscript

on mouseUp

put the title of this stack into sEnglishTitle

if the hilite of me then

set the unicodeTitle of this stack to the unicodeText of fld "russTitle"

else

set the title of this stack to "Unicode and Internationalization"

end if

end mouseUp

 russTitle+`xx> cREVGeneral revUniqueID 1229641830494  7.=8:>4 8 =B5@=0F8>=0;870F8O r s  r  s r& changingbtn3`e.on mouseUp if the hilite of me then set the textfont of me to "Geneva CY,unicode" set the label of me to uniencode(the russLbl of me,"utf8") set the textSize of me to 22 else set the textfont of me to "Arial" set the label of me to "English" end if end mouseUp KK@H.russLblРусский языкEnglish cREVGeneral scriptChecksumm͂^b handlerListmouseUpscriptSelectionchar 147 to 146 revUniqueID 1229642179661 bookmarksscripteditorvscroll0scripteditorselection190 tempScript prevHandlermouseUpscript

on mouseUp

if the hilite of me then

set the textfont of me to "Arial,russian"

set the label of me to uniencode(the russLbl of me,"utf8")

else

set the textfont of me to "Arial"

set the label of me to "English"

end if

end mouseUp

 changingbtn2`eon mouseUp if the hilite of me then set the textfont of me to "Arial,russian" # since buttons don't have htmlText property, set the text of a # hidden field to the stored html text set the htmlText of fld "russTxt" to the russLbl of me # then set the label to unicode text set the label of me to the unicodeText of fld "russTxt" else set the textfont of me to "Arial" set the label of me to "English" end if end mouseUp KK@$.russLbl

Русский язык

English cREVGeneral scriptChecksumon mouseUp

if the hilite of me then

set the textfont of me to "Arial,russian"

set the htmlText of fld "russTxt" to the russLbl of me

set the label of me to the unicodeText of fld "russTxt"

else

set the textfont of me to "Arial"

set the label of me to "English"

end if

end mouseUp

russTxt)h'  cREVTable currentview

Русский язык

 cREVGeneral revUniqueID 1229642232343 y  CAA:89 O7K:  '   definition)H0@B*C cREVTable currentview

• Support for right-to-left languages;

• Unicode-aware chunk expressions;

• (Possibly) mapping, sorting, searching and word breaking.

 cREVGeneral bookmarks revUniqueID 1229643008894 handlerListscriptSelection char 1 to 0 prevHandler tempScriptscript  ' Support for right-to-left languages; # Unicode-aware chunk expressions; < (Possibly) mapping, sorting, searching and word breaking.