From: Mikaeru Subject: KanjiCPreProcessor 1.2 KanjiCPreProcessor: Japanese Shift-JIS C/C++/Rez pre-processor - free source code KanjiCPreProcessor.c is the source code of a basic filter for C, C++, and Rez source files, which strips all the comments, and replaces in strings all the Shift-JIS double-byte characters whose second byte happens to be a backslash with their equivalent octal escape sequences, so that the source files can be successfully compiled even when the compiler is not truly multibyte-savvy, or when the Japanese script is not supported by the system the compiler is running on... Note: This code has been successfully compiled with CodeWarrior Discovery Programming Edition 4, using the following project stationery: MacOS : C_C++ : Standard Console : Std C Console 68K In addition, "ANSI strict" must be explicitly turned *off* in the C/C++ Language Settings Panel. Disclaimer: This source code is provided "as is" and is free for you to use, at your own risk. Please let me know of any bugs or suggestions for improvements. --Michel MARIANI (a.k.a. Mikaeru) Mikaeru Software: (This file must be converted with BinHex 4.0) :'%YKEQTT3e"bC9"bEf0PFh0[FLjM,R0TG!"6594%8dP8)3#3"!j)!*!%@N96593 K!!%!!!j)FNaKG3,r!*!$&[rr$3d85f&ZDQP$8(*P8(*[Bf9cFfpb,Q03#khGX#) L#%3-#kZ$!*!Drj!%9%9B9%0A588"!,4[)!fdHe3M!!!"QJ!!*b)!N!2K!!!-i3) MM0F!N!B68a%!#"c8())BF*!![3q(6cfY9D+4Z(`*d@Kk*)A)#'HC8,3MB3-LV31 #"J42SCQCA2K5!KiG[l*RU(@2@Aa9%J,P2,02iYh&F4a!TA*1ke[QfM)#I$!9IT+ #fcR&15Ja9kqF0i(C#9GcR`13!-Y"k1A*pf$ZmQ-GK8)[m!3cK(5dr16)`)M$#dP k*02K#ML,M"Bf0,H$+RMpR*%8rX&@mFG$,(5#2"jr6,&Cr+kY3Z8"0UQEMI+pHK' @3[3deNf4EXqeV+P2K$Vh4Ib"B&G(Nr`p@V9bZ#pQbTa9q+P'#fTY%J!!$8jAmT3 J!i#YQr"cIECQhjE`T-I21RSbEdZjCqGfVHhP88if!9J0S!k!8hbk-S#-QL`Mk%F X80IeAICGCKIE%RlNqC("2M,J4kDE6&Db+D%#H%i5[l'a[L,JEfeYBd-mN!$T9lT lE0@a0C(+-Q-l%FhpAGP-Qe4XGHk+GA&I4@VF9eCXh@f,VHhYE9VaUGA1U96dCq* )4b19L+2G6`jh(ad5X*8#&2Abm9MDf3irRSad*LE@$+dF#ca*%H[%JCRB@0&YLqk G1fdKdi(i4$d6QFPYT'L$bYTL1J*,JN"NcZS*GLH*F#-P)M-HUp4K"5ffDT*)5%( SP"HP`fT6Ek4MYrlaBBpK$%cH6p4kIqD!B55YM%"%"T`Q8b*6N3%D(Kl*b85PQA" 'p"8Skm[S,%YNjYQBDMFLG0S+p66Ajc)"'F*%6LC#CC'F%*LRZ8T"5KZFBTGd6%I JPd!`ab+5N!!Mj[+)Y"cR56)MGLFB(JKe$V&14rJ45+Fa5b*+M@-3cZCB1-i6TiQ hp8bHRmrD!XSUehiX*c*9a'm%$EPLHjC2*XBkS#3FF!5QCjBj0Ej"Dr-dKDU%56Z GcXS"VlL[XbL4HUaXB4H3!,p*%M-Pa%%[N4NS)J)fFUi(i+`ZSIDXc[,(A'`9EE9 LCR+@K4&jTZ!1MLDX-008@*fG-ARL1&%5HNL8%f-PcP)c&5B'P*RSjl!1`-Mbi9" P$RB+E(MABd+Zb(-kK1!I*QIP`M!F2)4J5,FM2KMV-kPXrTHTXFNJ9Di6f`pA$ZM PNA%UQcXV5f-%1I39"2qGMl"IGE(S8fQY"TmN1["TCbaq"!Nbjc%*ERqJLAEa6KX +SJ(bJNU2N!$"9`U%Cdl5'L$B!3)#F55Macdme'VGIm,5qDA@Fa#SY!1!6c16+$q &-8`8-q,Gpai%$)HTN!!$6d"Ee(FIp3j&$hiHZ6SX,R0NP1TLNZK)1p$VFTZ#h*D *iaCC2c&&+,SE`#mHbR5Bbb%5J(+1)m%aE$$a$R#C53C'CHPYKaJ",lINpZ"521i 9&PQSi0T)#8L$dpL*6-l)0XS0*IJ(fM8pj-G@$h@+@!*l(UN,19#4(Vr-#f+U`!( FDp#'(6P14AM0'+i8@D+()f*rS1-BQj!!1l)C61KL4jaZIMBD33L`F$NJ4cZpq1J MMKqF6'Krk4-6Ul$G3MjKRbH*c'9(2),eB4)D$q)YmjCSL)f@3!J3V3h4&"*-8CB !UfBDNN5$CG[&-+bCC!-aVQGZ"U%[8"6VC6+9Xka+)`82SRIiq-PR["*!eK1GBTF GjKi!E3jb*3D"%hU'Re%!pJMfe"4,GXMqa9M1a""QRkG`$lJAGPU9)6-K3m3qpi6 8b(i1U!b+J`5'69!Z*cDi"AN&&&QT[FUBC-CHYJDE,81SU`[MG&4I"%lBp%K!L`F 3-,h!Y&1L"C'%jQq95BKjMd`1QB2K4-A%)S#N3fb$68pb1d&fE40IaJi!'G'(I*m 88K!B3K3*FN#T*QA[$J&dE,!*H8L6-@8)9j3&kAIKP#&p8Gc"EX4UZ($)3`-brpU kelq)B0&QV*pjG2!IaTlhXGAP210PeLCLIYV+$VXM6UcdF3$UkikJ"D+DYJ[4!`H *MM9d8%iq!*FbEAYiT(LVf3LpPa$rAMSqe2JVK%kK'#N1G%VUU3qXQ8#&pG8$-EH icRbN3AFiMG5f1T[-&AC3-0TmPmifBRYl"h4Bj"fV1+Nb&eLfGEPXZeaf'03)Hdm (F!`%p9M8F4T3pHT`XF1k`Cm31!qG+35B)N5Eh,(`XE@dD"*,F%@[Z')c$H%f`Jj Cf#CFp#ZIca#@+8!YlLaKHDhb2iV3P`4f361CEMi4KaQlkFFkB`RX!8&"rpd&r9Z EFkeFB$FN!-KM[R[JEQ,")+abhFFVF!QL`-M6(!PRcQI*LCLD2"N)1[Y)-S@+4,q bX#kN['VlZBDY8Zb3!"faQlL4bBF`me6!*G83PZ@6@G[(NiKZ$YAZ)Y!kHBBm&T& IQaMi+$G-09D44m('1B6$bcJ!KYe`m4P5J$@TIND4L3@a93VL#F+M2f1"@+4kNjM KE"%-LI81NQ8Uacke&Aa+Ub8iKrbM#('#0$-,m1jHk`fU5*d'biAb!'bXXr*SS1! J`FiVK$UG)"aj-5%R8B6ePkV5ZM)N0%*&FXPZX1m1k2T6Q852EhEN%U*"5C4b-q+ e44KJ4k,Mc3)phXFqDB6NP2Pi[MV!kIqJdbM*iD8I(#NNUePRp1&mjQqjMXlZ@cP GMKdJG@E,N8m44mcdDZK)TIR9b)QkF(5b@8lGKi$-N!"AcDGk(+TiD$8"iCNED,2 N!51*lPr2N!$fPc23-&f#PN-FfPB2X$93-5AUJpf([Ae%N!"bi156*hMI@PYc-k3 &&9-X&(d$8Q6krQS""[K`&KA3%,m1dkl2A1+HTqApEhFJAIbbKUjPm0"rVk#Vfaa %XB,iTQ0$Pfm0pm6QDJ2@AiBmdFM66!mT"9)k%9&cEHhVYE8DhI2!'&)cFFq(6(* a410`rX1eJVFF)(3G)bkT%dS`SN%S#"Jril)a,Xie66"EmqY&Sp')a)GJqq+pVDC iqffX&4r3mrC"XlQ'd2$m1IdUYqa[AQijk$DE"1HE933hATpNN!"$SaaR1P"IA,I S!2q$R"Cak$Xph4$rcT,52qfr)[kpP3M%"eE2$Bifd$`)G`r*QeR+SZ@[@'e2CiX 1@B(5+k+pANJ$*26P-1lbCm9N0F!ap)ZYGlpm2dbeD1cB@9Uc9hVRNr*mZ)pS@cR S@Jdp&E+F@lFDFr6B%$LlFiFdp68%PF(!F1pEV#'ed5Jml%S3Q1'E`Hh6p2B1c3[ #M8K02[hpaYVhDB'(@6BiMYqlPJRqqVLGRIQh0e5F"LVU*m[cdVriL%AMLT2RcaH jKqh'5m"[#kS4pqiapAkq@$#RX&3AC%Yrhr"2rdXPB+Z!(P*4#4X"k!EdV9HC*%$ dP[JY"bpNY16`&R'i@A"B!RM$BL$38hLppS8*8A#pfRbYJ`A9VjRc#rpV!r9J!rI R0l)I,H$@6bE`3T!!9eSY4A#CFhQ,IbeGB08!dlF$dlhj!A%P!G1H`jG8&hQpdX1 U!U)h#TjrGI1I,I9(8Li0qRHj,1,"aR8kZ%Nr#hpmP4FU*KE!@Ym#q`h9Vk(KdV, r)pG@N!$V,JiMe'aEVD$BTFKZ"(U6l5S4I5rI4F*jH4!,Xkq6dJS%aH%H+0%@f[P "Be4G3e'3!$XEI(HR1Z'm&Z5Q*R41dD6jFbR,9j&cF4UiP"DR,CcQAp48Al482FB ADIVdfYB!kU&bYc0FklRPdqUMJ0"LF&NS!2TDDlA[TV$@S0))YAZilH"[G'LY06[ cT3FSGqAS(5PU'4('!![9fCb4+[&(90U''SI``PFR-#`("UXE6EY`JTUSRjkqCHK r(4HK5M,YqFhPCd1Q+mBZ0f$#`2`BY2RPrm,piUK%1'iLrQ,$AGT!-(l*rk'L9r5 *d5V*8$T"Em9AAS)Gc,H"VTFe0Hb&ie&&P+k-G&*mcGb#Pe8!aiFIpI86rZ$8[bI 'F-N$PJTE)HEUE&IF"8QXBD-rfRdA*kSciQpCJTIiN!"d+DDQ#(X*c*U(@[+rbZ$ -HYri3bYAdaSd8ThGdGh&(T5A8)rMC9JFSHD+G6'+Hhb)VJ8`I$Ae,KINZrINS(I i19e8&bZ)eZX&eIddjTT6Bi'$+SR2&1,8j936BfLET-9CpI*D[&aI)HBmi$N@-9T )3&S0-b$di(K*fB0JabE*aR'5Sr[I+*HX)$MjlqA$(6Vh(r8HLRFkQqfLr`UAcY" ([YLG6*,28EMQBYi4@RC(NT*r*PSbaZm@PceeLV+N625cSS2PF,cZ'c63r*F8aZL DiCX'4D86Yh(Rfa'dA)AQ&9*"qHd!S%BG6L,QJB-8K@Eq()!mPcUKaBXb!P[%d@b 2'kb()1)%f2I-aE@YS&"+jEDT%6'DV,jLAh6KL'fFkX1h%[S+Y9[rhB&3)k2p4@Z ldI*Y3kTqAl&1b-&kNk`,(PX8N8G+6Mb'Cb3N$#0Y3K-AHTb2f@GBA+K'J`B6)Da 5hjT%`5h601I[DB!,aZ$e*ii03LTqpl(a$0PeVEB3Di2mC+&@'PLV(C!!QqcMi`j N3T6FC[cB&TX2HClNmeFViAT[2aed`0daiM0"S8&ZLhPNp"bDBY8!Ym6mmmNq$95 MS4FQ'Sb64lUja4G%2#mV"Mb0#N9MG+N4GI##kMDLK#pAi1hmLbq$)lab$"B"'f" 4hZq8)PFRHr2$d(+*c-kF`5F`P%'*M$lT-@mr%!18181M(0)L(KKTA&`DB1mSaI1 93G6,h-`9Ih`N3DfAAe`4M6*-0aFIAMP0qCD!kd6ad-)IbZKc*jXR,KTHV'3fPTR X$8'[`BD5b"ZBmf9[SA11Y02)QQ5X4#jp8F([mc$,-,6S69%lE-@!@r`I!!Tr!!!: