From 6525b8b52e0600a8c31b9ce1895484ec7f67eae1 Mon Sep 17 00:00:00 2001 From: Jiang Jiang Date: Tue, 11 Aug 2015 11:22:09 +0800 Subject: [PATCH] Update with latest DDK and support OS X 10.11 format --- DictUnifierAppDelegate.m | 2 +- ddk/add_body_record | Bin 48032 -> 23200 bytes ddk/add_key_index_record | Bin 47824 -> 23072 bytes ddk/add_reference_index_record | Bin 47824 -> 23072 bytes ddk/add_supplementary_key | Bin 47648 -> 22880 bytes ddk/build_dict.sh | 103 ++++++++++++++++++--------------- ddk/build_key_index | Bin 47936 -> 23216 bytes ddk/build_reference_index | Bin 47888 -> 23184 bytes ddk/extract_referred_id.pl | 18 +++--- ddk/generate_dict_template.sh | 41 +++++++++---- ddk/make_dict_package | Bin 39056 -> 18320 bytes ddk/normalize_key_text | Bin 43456 -> 18592 bytes ddk/normalize_key_text.pl | 4 +- 13 files changed, 101 insertions(+), 67 deletions(-) diff --git a/DictUnifierAppDelegate.m b/DictUnifierAppDelegate.m index 569bc0b..b459a9a 100644 --- a/DictUnifierAppDelegate.m +++ b/DictUnifierAppDelegate.m @@ -342,7 +342,7 @@ - (void) startBuildingWith: (NSString *) dictName NSInteger versionMinor = [[[productVersion componentsSeparatedByString:@"."] lastObject] integerValue]; if (versionMinor >= 6) { [arguments insertObject: @"-v" atIndex: 0]; - [arguments insertObject: @"10.6" atIndex: 1]; + [arguments insertObject: versionMinor >= 11 ? @"10.11" : @"10.6" atIndex: 1]; NSLog(@"%@", arguments); } diff --git a/ddk/add_body_record b/ddk/add_body_record index 4277b5330201d8f8aa3eca7812e3dfbe93f77b69..b2dec667159189e1008a1520a56684166e60a13a 100755 GIT binary patch delta 5937 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 literal 48032 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 literal 47824 zcmeHw30zah*7yws0R=%t#FePQ4TXT>f}lY}!ZRw0yJ8F^Km-z+MZu!72%5&IwQ9BQ zVxP8Z-Re@S7L~eNao1|ARjg6ey6+|5Idg9yi74;;e*OCX@B82RF?Z%HbMBclOYWVS zdpK6Hdmlwn4jhVd&Y>trit+@o|8=;yL3D-)xbcvTE`-!b(lFxyc{2T|+y#YjCZHg+Oc%&wc;VObCk;Fzs zM~#jeGKipUF0gh`V?a5Xa07{CXw=A|w(O)l&lbnro-9B(0SOl(Fi0d?d8U@m)3B|) zVlSu+5aMgmJP2dGDg&3wsmw!0BGG7d37Sfjy?!m4(((o}92VG8z=e^=+>VhaNs*^z z$kjx?t$t~Yy!ng(gg>lbqDHG$D3cj}d;O?pw0_>ufFuCSWwMyq$Oc#4*I;1sEifz7azstnSRC>q(Zo5DhR1xcmiyS@@!0D3BnLWT;iipqFH# zR1Mwbee&8d{3y@59V}=|Dv>DDB$}-B1XY?OL#uvAUOOm{{g_dQLfE>V*x%eCT7pE9 ztg33&clGPevz3Riy*v+#Fi0hmH0g)*6EX5qm@)`k%R~FsV`!L2B&vi7i4sM+G+B;a z#om6KdA9uyVf(&|ax8(7r;(?r0{iAmNIfxWz$j6Bk5pfJLA@<=@`7n}#u z(^bkU*miu(Y(>|XXJLTUS{}y=kJ-i$MGz$tam>K}QGH{EA{K&xmP7FfL}1Kahj|YJ z_7iJaaN8UxLil_j@d2Q_6+>(gMLh((Fc`))q}WH0Z!^HC!>%qAwGQ~}Kt2{C1}tug z$lnN&?+HRE-=Z2?UBK}m;sSV}PNNP?QzQh+veIM#W5DX59)E`UOgZ;WPvKJc$2 z)Cc58WMuSLXsee^(-^tkt>scH0OC}&A+#f1g@8T*(4L9}AVWZXY|E7a#Q{oB5Of4^SB2SZzB2>fI>iQ!kJ#|Bi`bCpDKdm};lW*O?6d%ciuDi74QCPQ zAv#R-he7snctaHFqe_9d*us=dGl^&>vHmsi714Z0M23)dgdDzwkWs%GK#S2I1`$&L zNAANXJRwem=df6R1K7qBwjYDcVts{Jf7jH6E;gXRtZOYcgtUY=))+%CsCXDuOHd4j zOf7*WVxKn{v3w{H1_ME?e_`SRT2xRRqc7355*xyAyJE@Sz!1!od~CW6uXDTb&9S_W zSPysn-INJHg#OTgf-sW-A&Ea|+w{5jW`dp~ zgHsz)p0>Y!`{oyBvq-;p9VB-~f$BkLpspgLlM5=MKV)ubMs|HcG2uH5lnR0X$}^HV zNb_H!vAb~%!rbr}LWYn;g2WcT3@_3kWfw@H`PVW0Xf1QYFKB*$n%}e@xFht?f~d(< zh7)kWnL(g}Bb9i!S z(jSCQB|rva$Z4>dx#4lR#^?`0jk1Uh!A^boTgQfWC2zc$k%}k z<$55}*bvK!^h5a~k$x;+2nbq_q5SS*eHvc?i0%wWJF#BI=K&&`LHLLad$HCceKy|{ z@Pint!~bngv0&?lCtdq`{`O-_30bCVgW zOkaK}Uf_r2iGi#aZB*3C(?*P!9uj`W0QfJE4FU8~iSUDPs&_ zd_ggoZ3Z-!*!X2BX{8&cQ)pIW0fI0A>@!1AkzoOLJrk~D!Km_>9&f{A`i919y+uYN zmdnX@G1u0)9GdQQ3Lq#RUWihRPJx(UM{Pr-hBy-#Ix2HJoGZqlFl^S4%Q%hcuR%E# z;X`UTP_cCh`XONeakn8u_m%q=R2gRSUpjkCzwj3Nu_5FpP9|jbn2616T!5N_#B0#2 zfV>CD0}NfoJ$0qJ>|HQfnnk%KI0~%>Dd^M?#nO$t8+$Pb_!<&g;g>k;81`ZdTZl#^ z8r+iz1?Pbxyg4+t{xTFzBvdCMp;DrrQKj1HrVcdHzY3`<4=TQs4l2zx`|$y7_G?3~ z?Z~wQxppMi0CE+OYcRQXA=j?t+MQfO$u$hFDR3w1&SbcxcwsIBa{|mIVNQ&>v6z!# zZV2YIm=j?x2XnnJHyd-XOi86I#T@FNf=0Q+!`yDn;RKy>1aoAa=oid^As~p2&3k|$ zBjU_{?IE3;7)N%OhG}4nDN32Bl0h0uDU=HB2!%FfP{IUxqE-{3l=YWqX+kNbEdlrni{D3vBx zCTmkDSE@sY4!kI}TBQ!<#lo(QoR=h3r0LXh-WWekd_ZlA#{-6eDy=+}H&B%tt5_!6KLw$)z$_ z>LggOnk5^nR!oFC_e+x|BUez zRLj8-q^;=wWvL}oAGI}qq*U2f%Tr~@l~x*B+7GHMO@MwVmqBCFLD;T!``96aqK8Bb z2$jlY60{nzg@mpkj|bF$L`4n_?OSOqSS(IcB$AbCO{busAd4)jc#II{Kipy^!8*m! zglp$G4l&}sFb2%yudy4fl6%oB<(x2pPmgp$QGlZZXYvq=lj+IvbaQr@3luDe^3$H- zTxd4GA>4rAVy3QVp#vAiy4T|3u3x_MtXf8=+1xpfSZ*l9K$rwEw82>t!#m}06}PG! z;bAU#2g`oX+*b5n$s#6Q$)wi&)#WYw+7rPJC@+UeKVj1OOuC#&*D>i@#$L3iJuohq~z*>N{0BZr(0;~mC3$PYoEx=mf zueCtER@AV*@e!l@~yTz(h zY1Cl#ONY7da1A6YgjCK$dO5;u=Df>8ujf%YrYfEWLJ6M4mnNo45>rwo$vP=4pyibQ z$#9?$q|4-Lbp|z8hzBpp!F@>rF7BwQoartjCx?^iNs3He25@kSxh`|P z-_f{g9f->Dd{-TGOl+#gI1M&MdfmiTD)2C&2Qj5|7CPoB^;r6Bb7y zp9%S-#55Hwjsld!K`>da)gUyJK)9HO&|Cs#z{dsJB!m~yu#Vh( zuZQ5dOJE^1#I>=5v8**6SJ?rEKRT#s7`7egfExDZfOVm+rdG0a1T3JXa`5z!LfGm2pYDm8d7pQILnSd*AB*p#>$`oTx-Jh9{i2~ zTLjm3>O;hDig4W%kBc&AuZ55m;@$+VU;Phdz*+Nmd!FssL+IU6SB146Z#B(#_H?Ux z!=A)Ug7#=;-m^#J3TT1}Ew69hdqSSAH#HjpHdX+V<1jDN`B zz_*z>Z6RhJwG97vreL*HrVb4Z4CxxwC8SF*G%E?Oe|0N{o^TcbOP}XM9-F+J9(9~@ z;6eB>gN?(wLykNXD(oZ$NMX%h9#Gv1KXt5P#t3C-gR@SJ+l6(_ z+cJ93z)Lu)-wF3_s{Pg{9Qvf&i)8NRBVK;dF@vTA?;4ux({0z9u&wftyi0%dxl)qx zbM4gVWS1~W!kRlBcW!*sF3d4x=bJ%uV%P5byxFh;1)4Kk9)A02=t{2(Pz`!;(9;Qy z2rt0leeXfUy5ZukeZ;8)tLar$Et?bAXf_LvXBAK733qFH9jnvqP>h(|Qq~n{^oez( z*wVbKGSB_FAdg#5kmvAfrK1DK!GTj>;9e<%;{+uVhycf7+*%DBhQ$Rn5Y(#$ zKFR}L0y7_f_en?7~RM{D8vdBO#2IU=qw1Lb?Ct8s*=fhaf)OmY`^l} zqqrcC)5_W|94E>#kK;iBzP3XiheNGiSMMWp-B)!|U;4Q(%8gGQwRdz={kGe;9{ki} zQR|Q%q7^OIx4ryeDes}IyGyFu+EZ6!cQmh6GUicylO;ptg_^*GTiy3^JZ0+iY(=zm zsi#w$o8<)uI`XehIM93M+Y=kwi&w>D)%!v>@m7mnrDt5f6~|@1x#lx*)toh71t0r# z?T*)<@9pvR$)>UOX0D%bzdY#}um6Ugo&Nax_JyM}J1GvV=^zcfGQ;7?s+Ql0SJZv^ z>T;)JYVNe=-zZ=Ap1JKrk?=vI89sv-?m1P~Y2$%AqXxz|lXq_G_;qs8XZ#t5XJk2i z7r$s*-3KQXF1==n=JB_tUli;+b*b#g+Rt-KTeQB~eX&GZQQ!bSuAHLWZw0wq1a-l@ z%{@3AGnWfps!-sKuph#1g4(rQ{A)qCa&~kScp$z3;++JJkO-P1qAu5)>or^P&yq=f z26Dd~-e>7x-@>2I@aDJ*e39Im>m%^a@$xTKM9-h-TJbd17$E%Ti|7Hzq0+xwuOEvT5SeQjFTo!VrDHEM1fN5w~5j~HFUm!M0J{V!$OCLhUHMJ5`UO4 zRyRKV&;IpBE}MF?-ih_c9~YJGX)AcPEZq0{p^efve-z{nU*=p3r;DQe)rU4qJX*|NX98jUC?Jnsa4i|K5j+2lwwE8Y3O}@_f$ZpGx+P z$=~qPh;O$iyzS6$*^w7#sioU5uItvjd+mbmefG!ST>r(NKMkMWEAnCOb0u{)wrzFN zX+-_~^}RzUMlamDR1mhQhsHbM#Htfc(Z^S`^#4)y^2vy<3-2f0G%oJ@bC*1yN3R@@ zM!gwTmp8I)d*5zF8)wN@|9o?OqwSFuORoARwU^Z&x5>ZL)7}+*re(}qKdt|ao2|BO z@J*q9tM4%PF_VIWosIssNujHtOK=Fx3xdvFVN&P}lY*cJ1O6>K z)HLqPKK;to_tPsaqGQXQ?vKlw-l@Fn>Jj2$_Y95ozrO09_RM*GD}jT_r`O9^*R#_i z)-8H<`dHFZermnaqVLO^b~xy}VEJUXHPMDK=e)ahK3?K6;3qG|>7$L+&*JNzpC(!I z*w1nIusH+b-5<$9S~u+9a8&bc^Itq)y8Kk^?)@WUljpd6%X@KrLr2)7-_e^Rn6)$V zl*h90C;l<*njES4Y5R9|FOO?>;duD=(2Y+$>QeLSY-#BopgkYvekH+sebGnrqT`0` z-xL_J?d6-B87F@)5=Tw-6{p57jL?^86Y6;8N6hH_35@2E_eOJrXQgbL)BIPt#+*D( zz9;6=#1);riI4*EUE<}p? zwMvvZaRj-K1syCij04BJ1&)8sdnW)v?!iiC2SM(RCb`>&$kP;XszT0FDS6ryg@%_{ z`Aa6}C1mlW$}Aq7pwU83qtT_y;S@w-qC5j$OtDN7l#ydp@^F%Y-@gR-g~ZoZ8N5`( z`4)9L6i~`|@FBQNf#*duSV*UlceJ@th6>8!&49D={=m)4P)p&M3ET=~!l!?Dq9?#^ zXp-q`Y}du&PMJIJ&suWz$)qKZC!U!k7_{HFAitpL;_&EhkH1qI6y!OzfGMmNGktOFZ1nGco?sq$f;$HX3xY#%Zi5G& zAb9?vLBa5U;en@-pdkzfc<8E2Kgh(XlC+bgYI#s&K_etMHt@8dEYCMEUOxOBvuA*3 z<3F0;dHm^QX<+;>o!4w0=&=6Tiztp~z^Vf~d+x~7T$|Q+{HYBk5f|?7o89Ba@u1fO zmR;Ue7QW-N*AX6$zQ#nCFBa|peevY2GuoWl9>{IeGDdlrJ8_7YzLiINuk%ixowDy{ zUrAaMugq#x`~HpKp0c9Q4(s}#jEd;&mz^5^RYLzpDg_ zp6ztsaA3-mZ{xb{_D+dq% z@Vb2F=TBE4ITH0J*0ia6iqLpFW$ zmGH%|D;NL#?T6LN9WC?O39!@=+xg5nN8pB&4|!s75K!-ZuBm#Ask2+NKh9MArsek; zoeR2iyGE`P-?Mp)srESs9xN@BTrE%oW+t=E9QR1jzH-{)csKvxGtU2!DJ~oh;>(4n z0YUIe!ODQbjvuTwoTZd&=qLL3J>V_&A1evj(0D#y-QjjX&!f|pu5bU_?)-}F9iP7* zkUc>-`b^s9c^y_wTR$o{>h{ses}3BC;s5fjZu7kdvy#s=|K(7(xILfu>$$qTf9i-X zFaP-M>gR!5{xPXRz`)JfJl?l~zYM+e&9#;%`qsa=_}U1M*qrv|SAYMcPS3|L+?Rgu zy0auYMmI0A)sf;@j|;`qTK0MHV)oI+Gu-69hlJ}}Tx);%wqfo^dq16e+*v0+vPR-H zE9*y(yN`N&di1Jiz2|3o&p&26LV+T6z6TbN2cslkZM5 zUTm%2lzp=Cu<#4M=}DJ<*A#6luEq0~p6EGM>(Sz{oVqZ0c-GO}pghh7=v?dI1yPVY z{og(zq8e6jsaCI`@TvvB_Ed&U*7;cH79z(fs|0sfdzucdJ+}Mqqp}e%znHl5nc^Ae z+0=u_+ut}fwBu5jEycBhE1LBx8=Jml?bl6(Ed>p3#dn%lRQj^ks243B&fR(_^8De= zD=r!rr~8h16`o2h^9hPS?|-Ri`>REN_BPz``R6CQW_|w~zgdeuTH(Td*%P83kFI-T zYU68rTpBgo^TX88k|)zv>++)e92%QaEBh<$+l{;~X@-3c!>>+hr^prN1nG)i2fK z?8&9`?v*-U&ktx&FUaZSgUF}_9vcfssJc8GoLbsDlwLSsudD@F3$PYoEx=lUwZMP4 z1%9Ia|B;;nvI_zAnd?IQ|G^3*?E|M;-+%O$Yqhn1_EAf_dS7&6P1JVP#4-K z;QM{}6@!eqz*h`1Z1iAcpd9e81^eW%nvVbkdp%-1Qq*wRT8V{o{VgHV`vKbD5~|t)kLOshkP0E9AwWj;Z2{|q_@Nkl2SxkKd$&BE zjllBO_lCAasU(2@X&RYkwxy`0!G#}el0$ehh5RYwt_q=3mVdl42`h|W^50^t3OsE+;x z^@pny$Egwrma}M74y!c!s4^lVo6kMWB`?#a<%m8E-u(O+EA>Wm8)pl_X$L79#y712 zo*#%mzj$LIxauM1GekW^E%Sg@P^>?wYiB8M81N7Zf`|+&5%?hv?b*)_Zj0LcdfU9ZXD_)(|@SX?v$8(CsMG zbf6oISkt6}qaM@qp?dm)6NG&PsA-rTZKdo8B8)c67(#7?*9EA)$Idg*)hoMiM`VTW zPO~*dwq;}MPTs{dKZY)2{ung6JTzBL088ohoVHws0a027< z&uLso!!oQr;My6NucdK(!!ooO;CRO6J84`q!!m4V!1)-LAEt3$=v&aZ?;=9kd^a-I zpa&QVu!_)4p`QrBNR(+D=%+snJX{0JbyE+up6jMIu#6%9*BcV85WQm!MLZH zK?<(6P^JrD+?fSfcdLRhmT(a)XD{L@UHd!1IAalqj|R%P;2~-Pb~P^i4BCrKCNO*s zAkP3dGH#88#SN9^qNhRAVj!Z2!6A?uEmYGgg4H&pF;(sb|G?WC3I|~e*);Y9yvOX` z*d}|)EwZaxcOcNPbvq+K=ek!Au~a zPeB3t6l_PX9m!Qdu3gBrJGtT-y4g=iu6@Z>M6P0T#no}M-%z-wz-|6gpMpzJUI)0O zY{484bH$h=J_Rpej;sgX#T;}-2r2kaTFid974tXx6J)&n+4=sX9Rk7^7Vq~pXz?BR z-}O28?kCU#d;{aGz6l%{$9x6Ix*@dk+(-Kx{J-ypkc02XHU`YY&nxWda9}?MrcwLgNm01(copJxh-DD%1MYVpgLn?&uMkZTA47Z#u~tXe z=YiM+A|GM^#O@F=ps%-tPV`=o1>OpC1f*ZEqu&4+9`-8f z_W{OljxiwrTYxQlwltQ#vKC-1z*>N{0BZr(0;~mC3$PYoEx=lUwE$}Y)&h7AJqhAe zh;twoLEHdwH^luAOCer>_ypn`h;HzH&4cI%(H~+s#C{OP5Jy3@4)8io&VUYvGv;`% zmkq21SPQTgU@gE}fVBW?0oDSn1y~EP7GN#FT7b2{zsCZ!|NlNY&TfNS!-w@zL+ZDD z+BL_`A)|nk;V>9{cMGd=Gd)<{tVW0YR{sD1eD2ri-a1EE?Cdrd&Mok(@t@z$+DE>f z|NM^DG;4p};I3X^r@h60eiy)7`_JzVu*H9V804$`=L-?CxX9>M;~G0L*JA6 z#+Ny=(G&2%hG##iQFNXhAi;09Aw%*;I!}1k(0M#dN^P~uAF;~+O6LhbBLt79Q1xkn zB=2XH$Mb>kNAURHlr4FoRbFJ3A7qu6Smjf!@|koVt4$SJ;b&XraqSAu3zD-acs>Qs zn0&~uJ@dV_5ZHunaB+wDKa>IAlfUcNJ^)>J!}s^#@l%5T_Mw`8$WaZ8)p@jPsLTPi zYADRHwrVKES-s8wx2W=_Z#^=ru-0R;=6S$ow)v~v+*b|7%8?2gn=xwV_?{V;H9NUy z{M+A#<|cg-HtTJn^wp z<#X1FKKAdma`mvlo0If2)*kgf>AvH;BWIs||3w4cXpi21K3T?5oK1LgG~?X$1$(bu zSQ~nM=hMJhw9=- zhlL-~)jwCZ`{xz=q63#~yWQfN+oV6oWi5F+Z{gSs;W*7piPyTi2VKKPzYd@6o6={| zfysF{4dZ$&d$D1eWaHPLU!3%C)bilLnY(-E4i>#l8n0{esBeksWJP)1G3P^m8g+1U mX3>njILKpoN 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 literal 47824 zcmeG_30PCd);ACo6af_ht3cG?E(8%o5ZN`9NRdrkV<16LNN5%XOO-{?7{R61y6>%4 z?W;>&o>dEqf;(E*YHd}jQBZMd-TLG|=iVE*1cbi-?|c2<|KItTJ9EyQIdkUBlH|4av#+yoNZsdC~x321RIyz#tZ@Wf^KJPr(iO zUA2SGK*1d@MT0Q*t1fVf?7BQ;#A20Nlc1_Y8OwLD3&k&jrZB*U3g$GwRy2a*Cr*~7 zrpuIoGv;U6mEyOArboDW`4UxXWr}=q9sh>?T}SiFqM0B}cb%-!fHx^mqC&2!SD>+c zJZDNibGki*VQ#!Lh{YQD^c1;NoFY$B0F^Pn-ZZ~Rnghbk1+iF`EKX8N(qt5sF~1C& z-&~pr!p+Ht^DY?(#Nv>^m_SC$JgT3hxeL(%lL5_N5NN{}0ZV}lVsW}sF&X3%Pm?HN zy1a{DZ<-$YF~`AxHl$*)JXNg9OiNItiqqA~M*Mn1eVoU%I0VAXe&T#<2hkA3;>n8o zQEe=rH?JW-gpK)G8<;^V7N<&@lTS$VOQ!1}%;bmqYfqP9A{HwWrX-3}(j=2*I8}`G zw}aPk-XUx}cae`F(EL=gRHZDbiSgLaqxc2T6%c012YZS^wIl`2FHJSMX?{dEil1Q~ zBi#J>lKo9gm8ew6(YU{nG(W?9L6|8Y2xTN+ViI#BFy@y*^9vw*1AA>_esl?yh{cJD zv^0g>fHdZ}pXSFi5J1Y5kHf%YwlhQ_M6p;D77-pA5*CA42m(rP1doJB7;`_vzKQ|o z36ocM_#A>NB%K2!4gh#F2qN7Hq6Y8*17Tf5igN_%b^wer>>orBTY$bTcMGg9b4VR&c#;<^)J_1ffz<%30agR723QTS8elcRYJk-Ms{vL6f3XIp5JK%Q z!o12Fq3&aIVWGxG`#SFkr{uP&kn>ciJzvEY=9QQW^M(+b-!P}g-!|GZeHr}dd>#u` z14jqO1;z%(L<{q(9r9|qLhUoPNT~A_6zf+5jZo)kVu6XTu+Z}>Fve+*K*@Tt#6wu< zR{|*gvO4etf?5FgzpbsUy*~%65h9(+L8SZ0T%=315$gPI05?(LfHX|Bk7_$fN$#E_ zG0~O*?@`E18(IOh%M3*R6cLXi5@}xpT_1|BT&VLT$YMV&S&Z_vgR(Gf8L)^29NEtA z&~YIB5fg2hNP8Q|?!qtoFzqq-T9NjxNc%v)j)cob=GSU^h;*J7KpUnT1|4^TZV8H^ zl72Ig1Re%kJ5dz_1s+f!(!S8o1GF%|I80lr=`Pawodau6n9d&vZ0VX$^=Uw|A1w-1 zZADsW@vc4tfI#i>k@=NsbCLF*eh5&A3jGqGS&{ZJ$W+@Yj+FZ2auNumfC>^A3P5Q7 zZ)!d@R!@MlP}eRF8W!q?K*LAD07H(|uTT=Atr6yxI*bb(A2=a!VxV}!(S}2xQ|&-{Qb`B^(Zokb~vCu3M6YcTZP9sQ0 zp1nyJ2JI;fnmg1d$JUbrXiz0o_>3gLk?%;BmQrX35)FK;Ny>Xb*~x&i#7y2x6Lk-v z&deG5Bh+~diiL&kyl^PBXQ46u0hqqu!aS~ZzX0O{O1%ekwViHZ?{N+x>LLJ02Y8(P zFvSuuA*XTy;9*Ko!hB1jL6}{bL5=K&HIjebI^Pt?pz|cY&@9?O_daA`b^=FpMCtsN zLqbj50b~tNJ&ZBT6ruJA$h{j%L*0u(2i8=xLLD`3Fw;svK43*kY-WPoP`j_7dL0oi z0QVF6MK~wtg2<0SSyzz&DbGPBbath6z7vQH0!;?^0E|1T9~xYPIi2Slf_h(?v79RK0F(<%W z66Qph8;?0D=AtmC#+(py*_a!KxgyMg8I?$0g*mixCU3UmmZ(+*%BA75 zOqCBI*Q6!LlvpBC$R}g;AyVmFoFr8vBf#pNu8_;*YE`r>U80nzWzwKbstq3^DJ4}F z8zsW}krH)seLJx+!@Uhe*ft?aO;sckN?EE*qC%z`xtaiTAP5tv4wFk|8PKjwK3Sa% zdvM>reR-iur9$b$i-fZy881nalB!Y4c;j4D6I|O6JRT54DAY0^UW6t!l?TEpGkIYl zuDs}}De37lDK9leUPm1g937gWmMP_u)F6d4Gc1J3KP)6ZP%4d*B`TCsvKgqHq)<{U z#VJy{#aI=b!uar9R6J=)A{uDHa?685JXr=$N!A?>ia^15yfAsXM$H2=t^^sSNz@b? zi|R>z>KYiTmLv>I0J)&C@$xoCvIQ$;pm0(@)W{iRq~%gF>4PQmUTU5qT_$I=WY8Ii zE=f=*Ve~+O%n;DKN1w>34@N`JL>U}VLjM3Jb;ARi_d|nYd_w9J z04C$qltj{Ats3C&?#|#_JT3tC4g!u=$-qo;)}jp^=Q~C`AI5-rn7?4BH6d&%i#cZ~ zz~|%5kQLylz?l(6a58K-HkPf;7eWcvL;hK?^<#KLQUijE87rFt6E3oC*NTg$e|fFv zw<fduAb>A1pQCrJtOhZ}Hh-`g5O~(K+ z-kg^tP8BC6PZdwrNR(0{`{#eq6vzb2r81>5omd!v7ca?+`{D#N>nMS=o|kO^b=Mf~ z@UP61-38ID*;C?hExW&RqTDp9Lt@(?hoVOc!0jA0tXvPnj2LBk>9lL4Oq zhDSMGlLt5*U|9y3B_W>y`J}{D1(+oP%H|+AS*BJYG?#?Xq=wK!5=w`c3)D#nFQZ@$ zMZ1n;q(>y#f+Q-n5^S3Ql7S-@rzJz{vP6wq2Jbyca5(G@)+c&4{m+xD1BSjq!`EUk zkPL-1C{zN*cIqCjDF=SNhPa+aFxF+3qZJ!q_@jc7g5fNH3WXG0SH8&z z{+5F4=+7C!Pbe5gCj%a8z+W9~X9RaMg8Lc4?ndwsBRIea9$^GW8o{F}n6&?+fHEUE z(}+ID2*!cN&L9K4bB*_;@jU_@5wulxfQW|`Xz#@9qV(PC0LTWQ?H{d}|4kln*Szt} zYq<6hYP{;|vCQ?>(tc-L&e%7Mi|9?z7)|ec#%SDOV0UX_cWJOck{dw-47Fo2Hp%)8 zg4!Akn*zNXh?B@|K%7Lcf5_m%Z?JPVgy?2cs!Agl#>Eq_+>E%AibI?E-Rx-T4 zX;}<2;TiyjInReY4*3&m)p4Ex4Z>##^g=_0k0B92L_AC_uSvEX^2#$=3THU360p|G zT;FZsCr-YdGg|J`@q4q*y@z_`?i_nC;wrA~Mq%Y{&8rzbx4)V9c*d^sWBG;Wt@L)b z7yBiy%X%1-cPZ-H@Fg}>nGA4N4MCv87>Tt(4epMNChFT)jrh@Cj7I4^ZHAL(ontY8TZXnoM+xpHmxQC6(Gtk)7)70H_ zXO_2R+-Zkuq~Z;AEuf6Lw~i$Z%k1j;Ho9@nXGd1Cum~c7>+ST#k zm_dyMl7VR~w^c`z*l72Tg7&QdXw$I`p54gctSZsfy{CYW$hI9FDP*ursZL3v4|aI) zB_>&+Oi^dL+X-xu&a`7YiY`i_Q1gNV1y1(u1cLfNo4u{yVrTvGsRV>4z0IduZa#M-a<5~n(s55F zytgt&R-kfA_{IAW$4075%Sss`S!H9^^G;R%k^cM}Q;zu0{r&XzKBDzuneA6-rv2iy zzv6<$H=^i_H$OQ{Tfbn_mjh2O+PwGmXNQJtJ<}z!{oHL+9#$ot%0A3wASk7t7`*JD!H>9|0aL!KX>=(jRBAB=Qxa7dhlH3fUl0+ z9}_X5tIVU9>DI{`KjF_Qo0Dns_X*2(TRl3HVm@rXa4~;Z+7-d!b5|?NH-DB>;nd@X z_j0l1ZN3S7#Bw&~d?U!&DX;?dI$Co$wOlStsRDr=!Y&9~3fibg zBHm133W>lG5msC~u5D4u7p2pKBDkN&1+5z8T=2sM-U17OGZy#YItc8tZTnTEj94xKS*=co?Q#0_>Ga+Oi^xra^EOf9 zri97ony5@=4lGP~7+4OmKJmLHB4y|EUxc@hUp@0o`_tP_J>6Jwu$SQ1)qc)DAOA}7 z=5c;b+-i%DQ*BDFt&U2#%(rr^s=P1Qb6%HFJH>z8s=|;1COdC#`*!~?olSoKWx@5Y z!u^jIj|va>36n&;yp%oTZ0X@~dE3v9{$@|Y?|p}_E`RYov1-qiErb2N+vIx(l}xy^ zZN)#%#?2lUT+`-aY1^-Qbw6V^xwW{C`@apEmA-h}tnfK^y6@iZoJ`#6V6yPcro870*c84M#V)` zDm?Yq*4w%ZO!N-JUPfAcKPzy{vRCI%CavO6ZC|nR+sZC|k2-(4W`^aa5xQ{~?FM_C zDzzSY);8t*iO$MjCsbzf{_#2J&}6$=oH>*jN|SlFMeCK=3L}~lK9BU z3(UXay*RbKKb+U^_2&rY?+ZR>z1r_tzp&o#mA^f^=kHe6CU(7i%5RU)SI@1jh{bJp zcC&L;UmDu(dV<}yjUO%^5gl9dwOiosmv8Q*pSinH6gtycG&OQ*pte+<(AFj|aE`}3 zSk3X(W4Qz8C+}Y1cvGgTojg%?Fzo8IwH~&z_0yM}7(lK2T+R&G38xvY{8r7a@Fo{< ziz_^rgC9PQJZ>(>99rZ;Bc~*RaEwaO|9L{j1)&0SI!A))AWsa`wKL zvpY(bnj(RV3p|CKr%p~$@e=Dk$z;5QOrAuZ$%7j#YRIWnnlu^Qh)7J7rNhrttdj(F zWEkZ<++^VMF9ALw@yDwaep>V30!bQFkV|>+I=D0i?|`VVl13%#-=Lv%1=PjHfU>TA zpys73C2(~FngX8i0wCU~aWz_+7p4n7C~?lu%kQ$> zZ^YoIU#<)&>VI+P!VXstKUb}MbU|u;D)WOuS2qlMl~Fsjymj@*L-KUdyzjkBcYe3x zgEmuZ`~5yy2pFa0O$&|AGuK1s`XcyEur{gxXu zyL+B=xpd9?^3;nP_&wUcSigONDreI1F5@iR7Vml)BCMI@y{6Nzemy7i=6Otc(JuGg z&8m%VucD`nlNKj>On>3ix_?~N57ynRemJ1&{K1}UUb9N(#9rIH{O<#U-dw%(;hLH2 zqxN+<^hprEL*FuM$Gsz0O-w8g&$f@;I`7gCmA_Y5v>v=eqv53-+w4j5cdbZ@YoAF!D4_fT~^c=nP^3ldb&g@bMGv$ z#{$!iHU^a8`wgs@=D)`r9BI?}vE%)xi)KjNCj98JX-9;~wqIX_a%^1JAKB--H&^x3 ztdL3PwwDH8et5WO$n8_^uSc%Fw!hME?D67cqq3+1XAAb`)c<@;Yqyy1SR4* zTO2#bX20Y7AKBvkP$AA-_%y&jo0C1C7@)E$fauAjASOit*%6EoHyIT^PPb@ zUvT{K_~7V+pAGljP!&FP^q`lIZ{7IJZRh*bJGw^f$l~$7ar-gm{@;G;b~>cPmE}K; zwvNp1Q+4C+ytckiU$k5Gt;N355n-Ce!QIP?BdsqN&*~QR=ta?q<#Q}$&c_3`IsMe< z+CAOE4-YMxd8)NWRK7`UJ3sT7^@Arv7M-|Z)Bd*$L-P9VeD9)Tw+BzRewwiM>6`nV z(?@ZhFI)HX=e1ee-kb4YR^gQ%%CED|bdL4A?3|W#^{#5;?&4NFJIQI^nQCjNG8u7s zR9xnX9QRz#c9>jS;0K~0XZBydA)*+JU#X0rpzu=*KJAH=b>-RSy4Us>+)f>TaPqr* z$JL&kcxUyMxTr7o+55jbc6(g(u5oi$KJl45U3Rau?MfGZS4rkJ(@_}}GlTctt_}Hd z-h`hrXa8`uWY<>zK|7DB*Ct+BJiqPuuRh!O`?ADm-jltQXEo{fj?LLV@QZIGPPtt& z)|3}`R(@l#yGynA*m>jHIQc|vjrbz6rgy-)n%n2sEj&5o)6DVDhF11e+waU%9q{}3 zQ_1FAUoLoU_UzK?h(1moOgvisXlIqUsq^Db`@H-8?dB_I?Q6SKVcCaIIs4X*oN?dv z!IB8y6|LqybnjZQq<2*t51!4b$7RlgE&WSAJ2-pZyqSwOJSsdhWz1HmTfcs^Eyjg1 z9I#JT1FQyE4X_$uHNa}%KUM>0DgS@u83B3z06kdHzTq!kFvDn!!I3pECf1yN1=fnG!Nth{EN~q0Y#BpKzU=tG1K*$F z^BVHN{uti3fU#)S|5`lofa*lN5f4Dsg_eA-Wzc=W3e0%`s;>)}r^W)W=hUGIA^`HJ z2;hNfA-?v7Z$y#)@*3Ai9bkQC+c1{Ml?)(%s*0|U2r+q*O_kwuPyjWagPP?* ztxphv48}Z!zyl9Ug+@F8#gHRSA=RYfD_ykD$%cK20Uk&k(<~3t6`_GeqrOOi2W*3c zv>6^a7U(0ak<(KPuqDfRknjQsA{A0Ym>)n8F9Dbx2yaP3 zisOOzTAl-p>3kUX9l)?TA9t`tzBAZD{df7egDs8Jzp;-ygMYhGYS$+vdpsw7ZgtXe zPwT25_&{%iEiwGtVfV4WBp%EDK)}7dsep4~5=87b>VY8sbNtTXda9SZWxsRS*M@Z} z0n@zCIjkdX(9WOlZw}kQd05w%f3dH*YMAG^_TZzDoI?Sj@OjJnngeaHfz<%30agR7 z23QTS8elcRYJk-Ms{vL6|G65NLTG;hFMWB{Ho6I1ZC8HbNOP@-&&@l^DY;|9Ii(%X zH`kfw9p&a1YhD0gsRze(gqF+K=YVDEd93!A=+SX`)m`?jZk61J;Vdk_pt_r+l&7eM>~kG_W~T{wyzwF z8pvE|sU2CP%i!wb&2_$CzTipC>x z7N6`ovM47j=ygTuSYc^A7DETLF_h?EVsTkh?9fvf%?>nYkSLR6S4pzS;&aQmd{mdd zKgkBX`nk|r@<(+S7WIW6-(=OHeEmS6`3{XqRTBye;;{e}rVFh>DQ%!EzgT-z)7wyA zH?jsQ0*kQ>7LQF09{wzWKUWJ}3xJ`vEdRRN9EMzf5D0VyF;pjkc_lJGW`qRyiG2MI zBV;uqR{}D>R^6{|+$SMb5jpM_*yqB6Tv~7(cP!Pu%q#6WQ9KSD{*f~%r@B8-=us;Z zbp>s4|Av(Lufs|$dvRx*z>P{3UJIkDQ1o#*Q&=vH8x2JSP&hRAL zfWEKAHj3;4Q+SA!f-#BmpbTe8TP$6QJ_BL?nB(~25Xi9fDD()q(YR5_t)R6514H8v z81x3{sv|qCBMLtyn*m0JOYh_S!6^xXv;jg&QTQUJuE4aO3G^A13w?eH>qnbkjY=~v zM{}Y60C0 zf2xl`)F0(za3|(?*hVqtKv_gG4hiLB@B!vvl0rzve=1Y!Vhhhd!@nTq=dYogK_g#) zl!HKcqdaFyc8k2F$|;ADr!Qz@`p6mm%1||B8ZzkOdJBrDj7k4tU-@1LACm zMG%)k+yHSq#Jv!UA)bVI5#mjVdWaa%cil@k=Qgy4u+X*sOqHTypR5L04X_$uHNa|s z)c~sjRs*aCSPifmU^T#MfYrdiTm$g?+zz5E#2|=a5Jy8yf|v?X3vm&|4G{N2{1##f z#P1>AfOs3?V~ETEKl90Zd*kqKc>uG7&9fR{HNa|s)c~sjRs*aCSPifmU^T#MfYku2 z0agQlg$5}9|3T@Nqk0gNI)p}b=(fQ-+tMU`4kz7Y6bJd2!6C15JfiONIwQB>;35en|$bJ4;Xd? zuZyjP3mNDKAART}O#08aq2BL=BJ#S1FW@1AuhA1@s62_s_qGi*g;buT*+k{x))_(U zV&uyi`I}Upq^FtSl@y`_#gNRqF!BOM-iMJ7VC032{0EG@n2}Fr{g z{{63An_soz)R=>n&%<4o4nG|9`>M+0Nmmm;insph&FSh5dePyT?cGX_x!noeU$E-d z0xJpY^Pcs2|404qvp(-xpZBcKd)DVYxDapopK-M0BbxPjkN@j}^?A?wyk~vh|1?#{`CpG$)1)}1V zVS+D`KB`%ETvwP>Gd=gyQyZ5om=R&`(_u-Hu-n)3Za5co^Ez8vJ@c-|>FZgNljZl! zZkTqu?qxCi%+0I^8}`r02@UV3=%Q|OT#@zZ+E#I!PuLV(zSF(ZK`ZV=WC~ypILrBX!P16 zH?EFz?Aj~!#KuY4!Ex8)4@?p~yxVHQq@O<=d!+ho&@jO>P0SkMuFCJ{@MqpxXFqJ^ zu&KjVN9KL*y;M5mXW&f=Do_q5Su&5)`a$5J8P86?(E4DbO7}P56Q6=x(?+f%jfA9Xd_pJXp_k8D$T(r;Ww`ytj z?Qj1YG$ja{5kVBv34*YLE;d8@oc8r zvRo)^qCv}YK}9xUPB{j(7mfoB%Vb04Qnmnd2?^QB8PbF-nKDhDlqCZ>COkHV0^xD1 zD;0QzAp(}kh9jU*+c6xi8-)-X3|OX@^PEwct-FoRV01JXb*RyHG(De=`fNjJrl^rU z7Kzz*Ht_Ys4S%f}%3{x@Ss^PsU-MvhD!vdsVLKQ@tq3NncH_gu7 zW*Z1NV>8l35Zh3c)VW;9KqtYdH5fMv228Hr#PVL_MSFF zB{$H-acH%@56>IVV`#xVg1}K5fVu<4D~e<3K*lRu96%6>=#5C<%2P%(>3A$N&JFoz7rUqq4#`8blsxQ28FhmtZJ4g55e zpVF53qr_3a?#+liv*u#scCZ3oupN7=2gw9lB$v8k0X|HP6ELw zmAVO{f_}iDSohkLS(1-aBH_0UYITdw5@zOgQRuEAHTIUMAK_4*kOILhmcogUsOt_; z`HIz*TFhzqC%{FFXRF)>ilLNLbw{wdrKAA}ULvr!0?TW|^OqjSYO$sQf4y!SWCh@TD3qK+ zjipdk7*&f=^GTG30!2_DIt41gpi;`>M_F`m0YVL8!17?F;5FFt6p*qFWxYsQL$Nhh z5CM_%7Kl|E!85Ga@V}?b0oWWOc!teE;Cz*`eo0xav2~O{g{@9tJwaJ>DC;xWdiu)` zMuA~BXifnNM@}ZK6?j?omnG^~pqhzQ>T~+bstEms*^?hbx!&vb5%?t38TKn5AQJUc zJtq{_qqsq$*@w4uo`BaSQQw0QE;xjyl-kVK@P5TwCgmm4U!&yxsRKYt*o90R7BH^`|tqBur!gRNBq1BC$Koa=#8t~awU)22y>IjXs zxKvO8>U#VLI1LP;YZ^AFR$+^D*m4lKlY=nX137%!_pqS&&d^MO&_@9&F0H^-;Wg+! z1t5G|GMT?2zX}Y8OIuS?2q375E&`*-#O{DMln7QB5(~q#z$AL8zl+e|H6^|y&sMzl zJpKh(DvA@uiDrLDMWrRFMmLEbWNcaB@hL(Od5=DN-_DNTSugFWvjL9}kLZrwtWlGt! zp(u(7d32IIRTe^^TjT9fqTeVh{Q83*T(aLr*HzAp&RAm_I^yS89uU019e$MYrtmS) zKm!dkP_cnV8)%$?E;mqcC0i@pGPsSz&psq#u~kD4z+G4amTwL8xPf*V=x+wvYoJdJ z^o@bi+$eu519dY{zJX3N&_n}WK~WQ86J~07H>{a99>K96=dcoO$P@|06nfGQAigkc zB=v?>q|TSgQ;5P_a0`)*R%VA*2s!lM^k}1yPh+7^v|cnZvJiRMZ8Jdhv@$AMZm=D? zrL|8N+6fbqlN2)YHC#sIia}nUDpM*55awYa2lj<>ITmBFxGFbYDZ^4CNI7{FFb#Ov z0huy6w&ZYx3Dag!YaNrDBv&lY&doydZ@tW$Cs4D`K}jF8X-t&&aWcM4sCEnplzdoj z`9SXaK>qy$x$gt{uMgyxAIO8GJd=RiifSLh?C=L?k7|CDJe&~!16lCjGHRUW;Ek8c z7CPLh9V-pb9@+@}XiQE752)C!C2i zReV$(ZtW5dF@~}n13aGYA-P=%S}3{_?m-V6K(E8c+jV=hH;czaZoAs5@JzgNKk`mc zb!|D%PSx>df8fNOlV{IMYM)^8+4a4L?^%u$eubRAKGPGryW-G=vJnq64w;3v-L8D` zI9c|iy-}6eYfbMK0ws2p{$knlb%Mj9FMIqO<5&l)DkaOMPu})eLM@1S&@sii*?|rS z5egma;5UxU(@mP4g-mC-V58C79t*Is%+apz{B5mS+#-fGw}}2yYec8f>9mhf=d4wu zcsw50Kadv`FgcL7#KFpc(tnBQ$O1>2CHnS|9Uk|Oh0*7@@6isiH_f?*yY>gJwTaOJ z7bcCSXD}eOF;{?aCr`o5pa^+6f+Vrh0=bCQ&c04wX&w1S) zx#JD`=+=>B~S5q^7;HVBQ2T+ zX8#^B{prSy{|;Gtsf%~xa9xhH z4*gl1&fjs|;&&}Odf)b%Kc??A&G~Ah7k$-@qm8r9G3=&5)kjkmH}mOUae9B9!#AjG z9dH<0J=?;j8tz{ktM`$t4mqnzw5M~HHAGG*=&a_K~#1D68@XINMw zc@$o#Lr45oKXFegx6S>*#G-18oEMX2-Wj_0$YfS^N8iCjkNC@f7Vi;?%2JvW1?5TI z(FelE?jE1=^PjE<#*By#IePh_y(qtNcc)2TzNgge+0BchK9@m$e^eZsqv`LgT=8jV z+re48w|8%D7nE7K zI_p$5+gel=dE=9jh2irU)sj+<>HUncb!Rs24xL&XJ^Ab26Ri(oqPK1G8@*6=x8LV_ z)UnZT8GpQbpuKr@$J1qIPZBl^)XdDxtEu^-lijs* zkhpGK=)In~30BY05}Vn02h+I(np!(%;wY?fXB5%c;Ln6^VPfvHUcCO5G{u<4UHhKPH!<@y zp&1*S(rNbNP+2X#g-#KPFA7%n9-HljdelOu{QW5e~4QG&@D6NKci+lVKuQ{`Z`j79wu7v-MC? zCiV>YPZ)Jp+o={^x$w~ z{l@rR-@V0=)0Vk?S{zhAczTm>fbo`j>rM{txM6grH2JAh)+*Gi%4?srn77OucUCsf zbbg_8&(%85x?7*}F4$^^o;6LxE215RCHohh21}*+zxUU8^MB4^>~U9BMy~eR=Rpo} z3(q$wuD>aFyHfD;^{+%>QC-Woo`3KzgBQ1Sn#1oM{qf^g_x`!{lLDH~!o2W6eXAy@ zaJ8A>K$+{3Ur#@e*k3!iu(-hYZn>vLT3D^Fx2`BmsVQA}X~OJt?t>3b53DSU9C%st zdQar9UC)+WP3V1W+qh%wA?eio0M+~NChaoqUVqr%A%1hoyR!#VGJa_%v<*l04DR0S z;(GH=Un6I+Z)|&PMO{ijg?wh4_Kjs*Tz~A`Sj8VLqI*$S6SW>|t_n{XCvRjc&TY8Q zv1*ev)tGQYU-+2>F)QemGag+%$YAN(n_^xrI_J5=BJM(#hgWLgPj1Z0C~@^2I@h;` L*UqdFCL8?+OKq9# literal 47648 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 $OBJECTS_DIR/dict.plist || error "Error." # Merge property to dictionary template. -xsltproc "$DICT_BUILD_TOOL_BIN"/extract_property.xsl $OBJECTS_DIR/dict.plist > $OBJECTS_DIR/dict_prop_list.txt || error "Error." -rm $OBJECTS_DIR/dict.plist -"$DICT_BUILD_TOOL_BIN"/generate_dict_template.sh $COMPRESS_OPT $ENCRYPT_OPT $TRIE_OPT $OBJECTS_DIR/dict_prop_list.txt > $OBJECTS_DIR/customized_template.plist || error "Error." -plutil -s $OBJECTS_DIR/customized_template.plist || error "Error." -rm $OBJECTS_DIR/dict_prop_list.txt +xsltproc "$DICT_BUILD_TOOL_BIN"/extract_property.xsl "$OBJECTS_DIR"/dict.plist > "$OBJECTS_DIR"/dict_prop_list.txt || error "Error." +rm "$OBJECTS_DIR"/dict.plist +IDX_DICT_VERS="" +if [ $COMPATIBLE_VERS = "10.11" ]; then + IDX_DICT_VERS="-v 3" +fi +"$DICT_BUILD_TOOL_BIN"/generate_dict_template.sh $COMPRESS_OPT $ENCRYPT_OPT $TRIE_OPT $IDX_DICT_VERS "$OBJECTS_DIR"/dict_prop_list.txt > "$OBJECTS_DIR"/customized_template.plist || error "Error." +plutil -s "$OBJECTS_DIR"/customized_template.plist || error "Error." +rm "$OBJECTS_DIR"/dict_prop_list.txt # Preprocess sources. echo "- Preprocessing dictionary sources." -tr "\r" "\n" < "$SRC_FILE" > $OBJECTS_DIR/dict.xml || error "Error." +tr "\r" "\n" < "$SRC_FILE" > "$OBJECTS_DIR"/dict.xml || error "Error." # Replace localizable format to the standard one sed 's/[[:blank:]\n]*\([^<]*\)<\/d:index_value>[[:blank:]\n]*\([^<]*\)<\/d:index_title>[[:blank:]\n]*<\/d:index>//g' $OBJECTS_DIR/dict.xml > $OBJECTS_DIR/dict_mod.xml || error "Error." -rm $OBJECTS_DIR/dict.xml -"$DICT_BUILD_TOOL_BIN"/make_line.pl $OBJECTS_DIR/dict_mod.xml > $OBJECTS_DIR/dict.formattedSource.xml || error "Error." -rm $OBJECTS_DIR/dict_mod.xml -"$DICT_BUILD_TOOL_BIN"/make_body.pl $OBJECTS_DIR/dict.formattedSource.xml || error "Error." +rm "$OBJECTS_DIR"/dict.xml +"$DICT_BUILD_TOOL_BIN"/make_line.pl "$OBJECTS_DIR"/dict_mod.xml > "$OBJECTS_DIR"/dict.formattedSource.xml || error "Error." +rm "$OBJECTS_DIR"/dict_mod.xml +"$DICT_BUILD_TOOL_BIN"/make_body.pl "$OBJECTS_DIR"/dict.formattedSource.xml || error "Error." # The make_body.pl creates $OBJECTS_DIR/dict.body and $OBJECTS_DIR/dict.offset # Extract index data. echo "- Extracting index data." -"$DICT_BUILD_TOOL_BIN"/extract_index.pl $OBJECTS_DIR/dict.formattedSource.xml > $OBJECTS_DIR/key_entry_list.txt || error "Error." -"$DICT_BUILD_TOOL_BIN"/extract_referred_id.pl $OBJECTS_DIR/dict.formattedSource.xml > $OBJECTS_DIR/referred_id_list.txt || error "Error." -"$DICT_BUILD_TOOL_BIN"/extract_front_matter_id.pl "$PLIST_NAME" >> $OBJECTS_DIR/referred_id_list.txt || error "Error." -rm $OBJECTS_DIR/dict.formattedSource.xml +"$DICT_BUILD_TOOL_BIN"/extract_index.pl "$OBJECTS_DIR"/dict.formattedSource.xml > "$OBJECTS_DIR"/key_entry_list.txt || error "Error." +"$DICT_BUILD_TOOL_BIN"/extract_referred_id.pl "$OBJECTS_DIR"/dict.formattedSource.xml > "$OBJECTS_DIR"/referred_id_list.txt || error "Error." +"$DICT_BUILD_TOOL_BIN"/extract_front_matter_id.pl "$PLIST_NAME" >> "$OBJECTS_DIR"/referred_id_list.txt || error "Error." +rm "$OBJECTS_DIR"/dict.formattedSource.xml ######## # Prepare dictionary bundle. echo "- Preparing dictionary bundle." -"$DICT_BUILD_TOOL_BIN"/make_dict_package $OBJECTS_DIR/dict.dictionary $OBJECTS_DIR/customized_template.plist || error "Error." -rm $OBJECTS_DIR/customized_template.plist +"$DICT_BUILD_TOOL_BIN"/make_dict_package "$OBJECTS_DIR"/dict.dictionary "$OBJECTS_DIR"/customized_template.plist || error "Error." +rm "$OBJECTS_DIR"/customized_template.plist # Add body reocrd to dictionary. echo "- Adding body data." -"$DICT_BUILD_TOOL_BIN"/add_body_record $OBJECTS_DIR/dict.dictionary $BODY_DATA_NAME $OBJECTS_DIR/dict.offsets $OBJECTS_DIR/dict.body > $OBJECTS_DIR/entry_body_list.txt || error "Error." -# rm $OBJECTS_DIR/dict.offsets -# rm $OBJECTS_DIR/dict.body +"$DICT_BUILD_TOOL_BIN"/add_body_record "$OBJECTS_DIR"/dict.dictionary $BODY_DATA_NAME "$OBJECTS_DIR"/dict.offsets "$OBJECTS_DIR"/dict.body > "$OBJECTS_DIR"/entry_body_list.txt || error "Error." +# rm "$OBJECTS_DIR"/dict.offsets +# rm "$OBJECTS_DIR"/dict.body # Make key body matching list echo "- Preparing index data." -"$DICT_BUILD_TOOL_BIN"/replace_entryid_bodyid.pl $OBJECTS_DIR/entry_body_list.txt < $OBJECTS_DIR/key_entry_list.txt > $OBJECTS_DIR/key_body_list.txt || error "Error." -rm $OBJECTS_DIR/key_entry_list.txt +"$DICT_BUILD_TOOL_BIN"/replace_entryid_bodyid.pl "$OBJECTS_DIR"/entry_body_list.txt < "$OBJECTS_DIR"/key_entry_list.txt > "$OBJECTS_DIR"/key_body_list.txt || error "Error." +rm "$OBJECTS_DIR"/key_entry_list.txt # Normalize key_text # "$DICT_BUILD_TOOL_BIN"/normalize_key_text.pl < $OBJECTS_DIR/key_body_list.txt > $OBJECTS_DIR/normalized_key_body_list.txt || error "Error." -"$DICT_BUILD_TOOL_BIN"/normalize_key_text < $OBJECTS_DIR/key_body_list.txt > $OBJECTS_DIR/normalized_key_body_list_1.txt || error "Error." -rm $OBJECTS_DIR/key_body_list.txt +"$DICT_BUILD_TOOL_BIN"/normalize_key_text < "$OBJECTS_DIR"/key_body_list.txt > "$OBJECTS_DIR"/normalized_key_body_list_1.txt || error "Error." +rm "$OBJECTS_DIR"/key_body_list.txt if [ $do_add_supplementary_key -gt 0 ] then - "$DICT_BUILD_TOOL_BIN"/add_supplementary_key < $OBJECTS_DIR/normalized_key_body_list_1.txt > $OBJECTS_DIR/normalized_key_body_list_2.txt - rm $OBJECTS_DIR/normalized_key_body_list_1.txt || error "Error." + "$DICT_BUILD_TOOL_BIN"/add_supplementary_key < "$OBJECTS_DIR"/normalized_key_body_list_1.txt > "$OBJECTS_DIR"/normalized_key_body_list_2.txt + rm "$OBJECTS_DIR"/normalized_key_body_list_1.txt || error "Error." else - mv $OBJECTS_DIR/normalized_key_body_list_1.txt $OBJECTS_DIR/normalized_key_body_list_2.txt || error "Error." + mv "$OBJECTS_DIR"/normalized_key_body_list_1.txt "$OBJECTS_DIR"/normalized_key_body_list_2.txt || error "Error." fi -"$DICT_BUILD_TOOL_BIN"/remove_duplicate_key.pl < $OBJECTS_DIR/normalized_key_body_list_2.txt > $OBJECTS_DIR/normalized_key_body_list.txt -rm $OBJECTS_DIR/normalized_key_body_list_2.txt || error "Error." +"$DICT_BUILD_TOOL_BIN"/remove_duplicate_key.pl < "$OBJECTS_DIR"/normalized_key_body_list_2.txt > "$OBJECTS_DIR"/normalized_key_body_list.txt +rm "$OBJECTS_DIR"/normalized_key_body_list_2.txt || error "Error." # Add key_text index record to dictionary. echo "- Building key_text index." -"$DICT_BUILD_TOOL_BIN"/build_key_index $OBJECTS_DIR/dict.dictionary $KEY_TEXT_INDEX_NAME $OBJECTS_DIR/normalized_key_body_list.txt $COMPATIBLE_VERS || error "Error." +"$DICT_BUILD_TOOL_BIN"/build_key_index "$OBJECTS_DIR"/dict.dictionary $KEY_TEXT_INDEX_NAME "$OBJECTS_DIR"/normalized_key_body_list.txt $COMPATIBLE_VERS || error "Error." # "$DICT_BUILD_TOOL_BIN"/add_key_index_record $OBJECTS_DIR/dict.dictionary $KEY_TEXT_INDEX_NAME $OBJECTS_DIR/normalized_key_body_list.txt || error "Error." # rm $OBJECTS_DIR/normalized_key_body_list.txt @@ -181,32 +192,32 @@ echo "- Building key_text index." echo "- Building reference index." if [ $preserve_unused_ref_id_in_reference_index -gt 0 ] then - "$DICT_BUILD_TOOL_BIN"/build_reference_index $OBJECTS_DIR/dict.dictionary $ENTRY_ID_INDEX_NAME $OBJECTS_DIR/entry_body_list.txt || error "Error." + "$DICT_BUILD_TOOL_BIN"/build_reference_index "$OBJECTS_DIR"/dict.dictionary $ENTRY_ID_INDEX_NAME "$OBJECTS_DIR"/entry_body_list.txt || error "Error." else - "$DICT_BUILD_TOOL_BIN"/pick_referred_entry_id.pl $OBJECTS_DIR/referred_id_list.txt < $OBJECTS_DIR/entry_body_list.txt > $OBJECTS_DIR/referred_entry_body_list.txt || error "Error." - "$DICT_BUILD_TOOL_BIN"/build_reference_index $OBJECTS_DIR/dict.dictionary $ENTRY_ID_INDEX_NAME $OBJECTS_DIR/referred_entry_body_list.txt || error "Error." + "$DICT_BUILD_TOOL_BIN"/pick_referred_entry_id.pl "$OBJECTS_DIR"/referred_id_list.txt < "$OBJECTS_DIR"/entry_body_list.txt > "$OBJECTS_DIR"/referred_entry_body_list.txt || error "Error." + "$DICT_BUILD_TOOL_BIN"/build_reference_index "$OBJECTS_DIR"/dict.dictionary $ENTRY_ID_INDEX_NAME "$OBJECTS_DIR"/referred_entry_body_list.txt || error "Error." fi # "$DICT_BUILD_TOOL_BIN"/add_reference_index_record $OBJECTS_DIR/dict.dictionary $ENTRY_ID_INDEX_NAME $OBJECTS_DIR/entry_body_list.txt || error "Error." # rm $OBJECTS_DIR/entry_body_list.txt # Make the dictioanry read-only echo "- Fixing dictionary property." -mv $OBJECTS_DIR/dict.dictionary/Contents/Info.plist $OBJECTS_DIR/Info.plist -plutil -convert xml1 $OBJECTS_DIR/Info.plist -"$DICT_BUILD_TOOL_BIN"/make_readonly.pl < $OBJECTS_DIR/Info.plist > $OBJECTS_DIR/dict.dictionary/Contents/Info.plist || error "Error." -rm $OBJECTS_DIR/Info.plist -plutil -convert binary1 $OBJECTS_DIR/dict.dictionary/Contents/Info.plist +mv "$OBJECTS_DIR"/dict.dictionary/Contents/Info.plist "$OBJECTS_DIR"/Info.plist +plutil -convert xml1 "$OBJECTS_DIR"/Info.plist +"$DICT_BUILD_TOOL_BIN"/make_readonly.pl < "$OBJECTS_DIR"/Info.plist > "$OBJECTS_DIR"/dict.dictionary/Contents/Info.plist || error "Error." +rm "$OBJECTS_DIR"/Info.plist +plutil -convert binary1 "$OBJECTS_DIR"/dict.dictionary/Contents/Info.plist # Copy other files. echo "- Copying CSS." -cp -f "$CSS_NAME" $OBJECTS_DIR/dict.dictionary/Contents/DefaultStyle.css || error "Error." +cp -f "$CSS_NAME" "$OBJECTS_DIR"/dict.dictionary/"$CONTENTS_DATA_PATH"/DefaultStyle.css || error "Error." if [ -d "$OTHER_RSRC_DIR" ] && [ -n "`ls $OTHER_RSRC_DIR`" ] then echo "- Copying other resources." - cp -XRf "$OTHER_RSRC_DIR"/* $OBJECTS_DIR/dict.dictionary/Contents || error "Error." + cp -XRf "$OTHER_RSRC_DIR"/* "$OBJECTS_DIR"/dict.dictionary/"$CONTENTS_DATA_PATH" || error "Error." fi -mv -f $OBJECTS_DIR/dict.dictionary "$OBJECTS_DIR/$DICT_NAME.dictionary" || error "Error." +mv -f "$OBJECTS_DIR"/dict.dictionary "$OBJECTS_DIR/$DICT_NAME.dictionary" || error "Error." # echo "- Finished building $OBJECTS_DIR/$DICT_NAME.dictionary." diff --git a/ddk/build_key_index b/ddk/build_key_index index 3bf9c7be1d1212f645b993610473e4068269d4d2..7fbb1aed278db9005eef08237e34e3f675d8d03f 100755 GIT binary patch delta 6383 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 HH1Pibx*QSx diff --git a/ddk/build_reference_index b/ddk/build_reference_index index cb4f9b80491e7190729d846caa7b024608aa69a4..34b82232059c33124dd3f44ad02f4ac5e49ec816 100755 GIT binary patch delta 5373 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 literal 47888 zcmeHw30zah*7yws1!Yq~aD%8&H-sRfh@vc_K?5S-F2(>sqL9!m0@f-*!KM+5wzXRK z<*BV&_kAfYbzi9aR<$lQ3R<-)sIB?VnR^2_0j1yffA97GzVFWOH_JJ5=FFKhOYWVS zdvg5ku6-0mS@9^UelA5>Q2K323R6VRw~rh3bd5Z z-IL~L%kV%L#>P9HM50w>$rULQxgu2wRF?b%3_sjZLWl7CoJ1l^lccJo88Vv6l3ymn z?^A{e!taw0$6Xo_NF;s362e$D3+Q%|?Jh(EOdRfVfnzqlD3}VwNhFynOMmPT(ENg!0tmC^gXO`bT0+6_%TSN2o!=9N-&jIT zQ3$`ke@T0j)1_)Pa;K$_95v~In z8A^o-Y00mI;U_Q=K+NXHW8pE`47>=uL?Vug85r3&Dgm+Jpn-%|Kp+BRDi+o$bU04f zyxPF;5YY()?vUpW@mLl?wm(Hx0zR_~%xj2oj3C`DfSW^H*_EP7fxaQ6W5J`t;wEpR zCmFQ_xlrDt7Q7?i1mJN4+)t}k`K8N~{8Dn#QvgN>%Q%taQU9x=-0?v>KMP#7==t@- zcUwn>QBg^m;%ac@6 zRgPajT)MNAstIbpeoCz(MXHf26~1IaN37panMw^9wO<4)A9y1F;cWg^QczK6>OK6! zGBXFtHMR4m^BBHCY`)ZDfOyq?2>nPm!8hC&`cs|++2Bwf^Ky3qV_pttxNjJ{6kQI- zWwo9H>2mMZQ-o3_i(v>QxRR{%K2X@JuJrvXj_oCY`za2nt=z-fTfz<-nm##18QJyHJM zCnEjFwxS}fv+i~N0p9-G)*{|Bk?yB5z9@gctth_-rG1Gh1HK37ju?vIUH179C>k~_ zY-re!u!ML~ez|+TkuTEyt`Up$J%uHPWS|l0TV1rnsHdnXumE28bq6449LWg~6@|%b0Pc8eG#VdFhc|bzUhOW{e`G7xCp(MuAv@qzT3poGA0ypkqicIei1dNY zFwz|X-fqZD7g-9l8WWKxK%W zQKZ|u10%i7d1#$TZ|aR3NK(`)i%{M$x++Lrff52^&n2P^x`LymaL9TST|b(xdlg+E z(D`2j$`YUy7i}$t=s^Vz70{#yGASt0IEUv>78)C9Z4ZB9a|Q@NkdPE)QDpN1#nK%% zx|S390xu94hQ%`w;xee1bba9WfCf!Nfdo=D4vbwS_YjTVYvQwoP~Hd1T_)5-IJ`?bf{v|NrM7jgeJ`oT=?kvcK z(Ja!Fv4EpBf?$56+mvUjAcwHsi+wIG@?HZF(82^Yx-O=3NFO8Wq0w~)$^H!l4983q zum?d^>@%X^`mb>O8UDn!6qGm>l>Z6Cuqe=*=7e<^UEKjFxE7^5tZflp@KW0px+jn< zKSEfIz5rbsN{LFep^!bLr~fgg2_pSgdSHHq5*hHg7UYm# z6~iPVoaxr-UK(BXG)%V%;ExDwgX;*+lb(^KS{L1A(X>N2omjKY&={B+y}txHqxT#V z&L!bDBwRqkMI>B8!et~}LBf?JTus97NQm{N0Y~b=BnZ+3n99UdFHEIkYB;7wV+u1K z#9=BIQzA^wz*KKceS<03Hl@;5W2z&jwqZ(usl%AU#V+kUrpUh415AOUz=?}meGB6; zEZ*on58`6ELarGm*Q5#s#Rzx*ysac!ZcBe6j?UZD^rZqq*2n86k5t)SV%i|>?nv-sg$ZJF$TKr#DS~vlqKdk2 zM0{knMy66o)5Dc1IZ=J7s=`VE94E+BGDWgX0OxM9Y=D!MsuZY$B|}u-;o(|&dJ2&k zTOCJ;)I=;95)V<21CxdnnKMW$9GKots7m8uLW{H7ur z9bGq)2GdQF$WwZ0q)EM#Kx{~lR#=J^p^`z@5V>gWF(R21rD8WDLaJz|5hycd3RX=f zN)TO|q*OsaLvu_nw0+wSv2la?$Av`)C!q!;RqBExN>rBsvIj&)Bn0=ZYB%f_r^}Pc zR<*jbzd!!q6IU`S6jm&XIjS&=arENeIgWeu>+t{p9HwC$!~U!l)uf^K+o)VaHBFOH3ErHS zCQpzgr%jNI(@Iq-RPJTiyd@5qV19~BrOKp=L-FDzxwtP$!c83&m3yn2mrE#p*BI{d z#>?Plda68In@Q!C@JeiKi<{PvxOy9i%5|?PY_t}(v(jZ@DwQ1K<0mqs4?WoPgluG0pDtXr~9R>NZbUwXZ)-PSE(a02ir5Y*b4QJ=E zw$dmxtgunMRG!rv$<+ zIE0D`lnEasXi^cLOT${4b_vfy_eioDNz@t@?3w~d@g$OrG^kmYtkuZiI|(UvpBudy z{1?aUUm^R%r`H?Y3fm1EDZL;LkCehjJALognumK~^nMWD(*zQdhd8+AXa?h6H#>g} z4OeZ?Orc>oQJ~#C3m7-Tfw+qPlm&d(g1*uMZcZ0A?drjeTf(dg?qdNDuz(XR;E@(^ zk_9ZcfHN)N91A#?hT$}Ub~7#DWft_`S-{xw*cfDhX9M^R0`?B>Z{djtevgEErg+s9 zPZ6-cz=fj6olv}&{XgUZchzf-#COk0%&9pWtFi2PSl8NVna^5-EVInkAInT;wY5Yu z3#=s?7bsXp>sXx37Gkn`m|^IpnY9{MuPXFU$Z`hZ>=s6EK(;V@FG!Bt+dKU7^fd=8D#Oe(s zz-5CMf=4_I#cri8JTe>sr0`_PR|-c2GT&NH6sY5Grw>yEH#uk1tbMO;c^gOWiMgyI z1ucR(^Tc7wk38cXD(!}mm+Zz|)&PcsG34th4x>kCdH7rFc=P7%AlnJ{tIk}H-PWq!p;1p0o6k>>6{`J`?gj1TIj5*HCd>Ov7dYE| zaHp)`fRESp@dx^R`p3z&9mGqcavFW3op{eH#glUF8zGPw_T3UTD9%< z*L!<>cdA8fqfgh2e^i!wTrhBL&(6PncmLwCPdm#Gtmr89yEfhG_oc0OiWfUpzPi%+ zxQaiu)%S|meLmfMa(U=ux9RSK=j=IixAVFK4@Sf!wv+|5v;J<}@-MumADNzGwKH+< zX2-{;DPMUgD?En( zkD=iU274A>JuCR!PUwl*ZTarPrnxSiO6C2(oM`v<`Gg|h(3KVaqo>-A5q3iYPrje9 zv#`^W4olh6_mQrVU+a_i?)O{woXPk}i5Vwko^( zK)CfMeUfo}pHT~n`tGvYcw^1(9rv19{c-Q}YwHH~Ib1S$;K1N0X-wsX+)1Yo?HiT9 z_VlnVTa*6i*l*#{igVP0t(R7J?-SIZASir);+-|${CRrlC%q${G&p~#;ktHhPT34= zyuWeN;EDa`Y+4}fwZ4bCY0}B1CvEzlSlqhPkIKs5hjp9tDD_U!yuMev=D9z8WqmC2 z%?L-q@OB+MyDwiiBW2muJ8RswM!cPW-7~dAO5-u>J9U2E=WY1Z%-L(E4xE0c&E~b9 zY1A)`t%^^r$bYVcMPauv&w4qtC|FtO=-;*|bQ5;%5(w*pFrXVO3IVVv2zxN#zeR?+ z=KbAS-`aW3y5`Y8w#??yn4C{Kmvvh{HH|-v9;*eAHX&3oV$C{~LBsyN0Dw+Sx z+j`fK&!ZC^o~8u0bsgwBqSfXvD_$;GbS8G!{^7CXKDXT>s5r6K2d)Kd>%$Yy*dB4l zX<^9koub+|Kl=9c)}4-5#&{cCd=rN;qv>^J$yoWa)A#UMNv21e!FtT991z zOC}Q}uu}mtIk)c-zaFK!EKX_jj;M;Esyu}OP z8cPNgP^1Xp%kvaDUNuo;A+1{GV^&e763Sv_Kv`8kPzy3uQn;Z4RRK@<))24w_*zU& zvV4v1Hc#9+d;6mq^RNG&HUHVfvsuDH`#lTt3tG$z>EHd?xAQ}1`kdcb-1zdo=j!>7 z&!#w?$Qji2^0MBqvW*jt)-V6KN4`E@a4zW3#vi^J)L??K(;p*N+1O2X3mw|XLvwDs zzHQI`%P%OsZkPSEJ@ckhvo4u*Bujt9xphd1PLOvKL_$*+2g+tz%8)eJ=Ud4|el~R%%kW~>}-)Csq zRj1aDS9htK4cdC8+tmHjhg?}TZ)cbAH07tcaRfB*9Y^T5+3pi38Fmq1+G;DN^< zo_}aiIP@<(@VE(GVKTr&mm~ck6R%9wWJy&r|7Jor%&>0aY(klyZ(zQ>|2bw)v~#oH zT0M9+Ym(G2@#laQ8)B^1yr_ueIr}a>u)XKDJoU|~eaD_zdnoMUqkS`b+&veepWX$=b6h+4h^c`+uD`Y18x%&TjSNf6zKgafClH&PCV8se{V}8|TiGA5OlO zx*}1Lwxgy2{A%a6aP{Alt_ zn@9QsAAh_hzWcUc=RNUh`D$^7;{2P3-k$dtcl)ftQ*{XS!s_hW(ueVps|Q{?c;tuI zWuJcieCgzm8ka1Wwx2g&6L~4C-TGyTs*BoqAGdWw0}eL6?J;-MqbqOYJzK@C|Nh(1 ziXqo7{rSre%NALi*0YnKsiWrWS^Zq0JuW`viN#7tz4N)I`Z1>AF7^I+L&=-gyE6j{ zg81DcR*TEc9%E{K&VdI@(;`<7#DJB_Xtu^Z6?Ujvws=ijz4saCf5{RTf(r5E!_$DU z%M#%d-$I}FwmKOe>DBZT{ktCU=5-n^30&LkOD|Q&`@TJoOKiSxOD285z`{?ADguF!0{-rpSNf?ls}#^?rf`{4|k8>^L4+T%gP2$7}mA& zw_mP*?YD72RukWt4U+|eEq*^IJox@*>yv#OUz&Gwm{V+ShqCLxe%7$(vkHd=yY03g z>K~<@9nt1!NvzYwlBuo3A6LvgHgCGU%=2*Q8jqVDuH4rbf4FznloR!};-f1hE;Dj| zbb9!-$E;)5og2M8+atfz#^&c+wSM^QyRVWKKYR0_S>|Bg^SMiI{lhqUP4h_)rxsmm zt6D$#RI?!=7d%_AX~!<+cN!480O{Rk_&F-nDeuGKr`D)@`3P`i!oAfS*JS@}XZvHjZcF2|pSpW3Da&zPdUVwIihVyd z-mznwOe*hutJl8d;R$_~t+XxZuPp6% z+I=?Q`&{QEJIj|ebN&8pzTrf4xwrr5F@K)=(7XO%`vZ4uXAWz(bFBTTzMUgmkNL&p z>Gi}@Ib&~yNH;auIrL`5`d6XNiVgRMojW#biRI=Fy^p|!oCY`za2nt=z-fTf!2hEL zPSf`P$i_W66aaq3w#5D)YzWdeaB8*vM<1cqT053Q8%&nA+sMJ5fGGko9!lWBtLgBx zF57p9V{&YMb=m4$?MK_>S^XXxcy-z5 z+W7t6DCfGCrz%TAsP z@IVn<1m=B#{b;g}SC=h2FW}J?=)Ej>V0%p8SwLUB*Z$gY-~q*{;TAjqRpsikxt7he z1q-mp0jR#pVVdp>yq;5qrl?RzqauI@#x?r_w(anfFZ>>g*vqR~9(91_*>yu-B3I%- z{&Y1{9uX39z)a_1*fo?spYQr!9`yVK5s0(oAqF1ykR!I>0VtLn8OjuGx~$sfq9OKw=xny@znx&fW^>_v?`VJ{xy#CT6w7K2ZK$Htt|K zBKo(qac8n`cd6Mr!=h2$`z)078MVsT^-nLLM_se++hOxTyy_0a{5l-2?X@`^3uD1! z`%w=R^`B#R4(C&~+;!WX!?v22xeJ*0+nmEPDQ5Kq(q;aM_U5n-9EVkH`4`)otAufn za}PdsBV#Bx66OM40OA~{0Zs#)1~?6H8sId*X@JuJrvXj_oCf{_H87si-2;nz`Q^^~ zM82-2S5dUBPVB|cKgipE$BK7CH`>cqZ=HXT5B9q%0I)ZJtu{)>_cF*~XY2V8-M#o> zL-Wg98nEeO@;|oaYZCR5_Ig4R3MBe{qrr-e-bvTj%eJWS1iVf`im$WxGLYQ*2o)7R zLp(6;f+c9&HanWB_N}%_1Ob|!nF_>>W&m#)7V0n z8_+hFzHl_%NML>!nXj`z8W4$=zSxxIh|C9MflH`yF$2 zmHCHSj**N4<9%cVO)KvOBY+-6`obnS8Vb&XZ8I20kx%r6-QkU2KeHW#CXG6gD%!Fz ze_CUq>sY83`kRoepUI*>QeXg5(hUbm$;+gq8>#v(q#q1{ZJwf{Cy+#`R{#;1@^hsz zxsz=fdw#zm7k!~$4GA+yjh=un+Dn+QhSy-M5ynpw%$+j`>r8;rf)fL}JOFbK>I>bl zbqvlExfME@FwkiZfI*{vzWM?bS5FmvMXCWtMRP9T$il%2-Gf#H>DJ<>iTc8Z)l7~+ z=MWW?0FADo9Qj!0;|7{x3FPZ%*2j{}B%4V}+(PYK(id7YJoSVJ)~bMfSTj24_Y&#) zFq$NT^94%BjPGEed+-qI$lpsk#HqjvXL(^y;Ar0EEwM&WOCOSBgpEa*vG)4CL*D9~yK-DjbER#+F{tX0lIcI0_hL0csD}r9;97ix5@pD4p+HhW-|ATe4=fnCo^x_A)N7K z31BP=;^~LcyFCegNGK#B?&2H0gGktmgrOwtOF|I|ahKlc9ZSLl2%xf6l#XsDQFq|apXk2X73hiO6D#Gko^LHL-7 zZ3d9G4G7;>yxZ)c$&BEC*Zg43udQR^nUDHn;_)-Sn0T}A0%PJ?Ul7K`GoJ-=Rtf)p ztAzhfdxUr{j^_vHd3cZm4%6_91!p=u*h`0n%+fi-c{)s#$>4Lre*)gp;d%E+@G0OG z;IqN!fu8|>4)`VDzXQJo{66qU!J|W)b=NyrpM4?h<6C{EN>gzmrvXj_oCY`za2nt= zz-fTf0H*;?1Dpmp4R9LZH1Mz10Nz6{18)uQ>2BaX!25vj2|f(`81Sj!v%u@Y7lWSz zel_@w;J1T64E`K=wu4uFa(8bG+%LyFy`1ATz-fTf0H*;?1Dpmp4R9LZG{9+q(*UOd zP6M0<{yq)R_W#2(?FYA|#x{wJYuq|7DA(R9b2=~63jYfLY`51m%s*JwvQC5itUmw% zoBMTIoz4y2T&(h{!zO-vw%vORoA^HLJhm-vFhMW0XoblpepkS=ZQ=(3Y_f^p3)0m# z@k0?ZnZ)ml09v*78WIyVyo*p6fOhUhh^@AaFD4+Ex;7(-WRQF!#DY0lv9F#>rl&|bkst^ zx+zvmuGzJ+TJo8zWwqom_tR?0A$I5A`Ck{+7WCOOx*E%#%XP0KW~AI=2I&jtFGncTe6HJeJ!7xl0AqxVd5FEh!$n4V;9-)nSAU(tE4sAHh6rzJ;e|(- zTamf{3VZc8Z{1rl<>u^<{*=zHaQt(|qeB}8rUo48=eBa##(V9K#af4c;xzN|{;RT* z8O6nY2W)z?;gMU1iJSbzJ9Z78@M?qi2Ajc?S|l_$cWXqP{EMXrU!QF^S()_X?g4H3 zt?;`sQRwFQP3ZjHoDF-HtabY_Fxjc?myS4%jPp@!yf;;g0o@I z*|6tq*#CF_6Nj^5&)KktzvAI+*#EV^>ELYG|6jLZpZ>hp<2-`i*KH~jQT$DtATl+rCf}C?lb%GuJD$3R{JmR^So?Jg=g~@;U6@6 z;xXWA_r2q(Z{JibPtA+6dwF8kQK#9_i!_6}1%2==u-!?I`wN=R8-4C8xABEL>wPm} zO@}WII8095XUF%?c>a}<{6^ZBCqiu;9oQnc;Oy`S#MF;=B_3Q-v45zBA!-#jjb>j?cEA$fq}K OxRBETr-A?fHSk|mrUyj; diff --git a/ddk/extract_referred_id.pl b/ddk/extract_referred_id.pl index ddb0c28..7b4039c 100755 --- a/ddk/extract_referred_id.pl +++ b/ddk/extract_referred_id.pl @@ -58,15 +58,19 @@ sub process_an_entry my ( $entry ) = @_; # printf "== [%s]\n", $entry; - my $text = $entry; - while ( $text =~ /(<$a_ndnm$reqsp$href$optsp=$optsp($qattr_ne)$optsp>.*?<\/$a_ndnm>)/ ) + + while ( $text =~ /((<$a_ndnm$reqsp[^>]+>).*?<\/$a_ndnm>)/ ) { - $text = $'; #' - my $reference = $1; - $2 =~ /^(["']{1})([^\1]*)\1$/; - my $referred_url = $2; - process_a_referred_url( $referred_url ); + $text = $'; #' + #my $reference = $1; + my $a_open_tag = $2; + if ( $a_open_tag =~ /$reqsp$href$optsp=$optsp($qattr_ne)/ ) + { + $1 =~ /^(["']{1})([^\1]*)\1$/; + my $referred_url = $2; + process_a_referred_url( $referred_url ); + } } } diff --git a/ddk/generate_dict_template.sh b/ddk/generate_dict_template.sh index 70962fb..1c4451f 100755 --- a/ddk/generate_dict_template.sh +++ b/ddk/generate_dict_template.sh @@ -10,14 +10,16 @@ dictionary_vers=1 compress_body=1 body_id_size=4 encrypt_body=0 -compress_triedata=0 -burst_trie=0 +compress_heapdata=0 +compress_indexdata=0 +compress_trie=0 COMPRESS_OPT= ENCRYPT_OPT= TRIE_OPT= +IDX_DICT_VERS=1 -while getopts c:e:t: opt +while getopts c:e:t:v: opt do case $opt in c) @@ -43,14 +45,24 @@ do TRIE_OPT=$OPTARG if [ $TRIE_OPT -gt 0 ]; then dictionary_vers=2 - burst_trie=1 - if [ $TRIE_OPT -eq 2 ]; then - compress_triedata=1 + compress_trie=1 + if [ $TRIE_OPT -eq 3 ]; then + compress_indexdata=1 + compress_trie=2 + fi + if [ $TRIE_OPT -gt 1 ]; then + compress_heapdata=1 fi fi ;; + v) + IDX_DICT_VERS=$OPTARG + ;; esac done +if [ $IDX_DICT_VERS -gt 2 ]; then + dictionary_vers=$IDX_DICT_VERS +fi shift $((OPTIND - 1)) @@ -92,6 +104,10 @@ cat << END_OF_FILE DCSBodyDataIndex +END_OF_FILE +if [ $compress_indexdata -eq 0 ] +then +cat << END_OF_FILE IDXFixedDataFields @@ -134,6 +150,9 @@ cat << END_OF_FILE 2 +END_OF_FILE +fi +cat << END_OF_FILE IDXIndexDataSizeLength 2 @@ -159,7 +178,7 @@ cat << END_OF_FILE KeyText.data END_OF_FILE -if [ $compress_triedata -gt 0 ] +if [ $compress_heapdata -gt 0 ] then cat << END_OF_FILE HeapDataCompressionType @@ -171,11 +190,11 @@ cat << END_OF_FILE END_OF_FILE -if [ $burst_trie -gt 0 ] +if [ $compress_trie -gt 0 ] then cat << END_OF_FILE TrieIndexCompressionType - 1 + $compress_trie END_OF_FILE fi @@ -221,11 +240,11 @@ cat << END_OF_FILE END_OF_FILE -if [ $burst_trie -gt 0 ] +if [ $compress_trie -gt 0 ] then cat << END_OF_FILE TrieIndexCompressionType - 1 + $compress_trie END_OF_FILE fi diff --git a/ddk/make_dict_package b/ddk/make_dict_package index 280b6c0a89dd32bd6c61134b459d44748cf83ab8..937e326968c1ba8fbf6d8532c7e36e16c60926b2 100755 GIT binary patch delta 3593 zcmZ`)3p|ur8-L$1!w6%BnIXcsMOfZ(>5~$ZY*X3DbrYt+Fl5loR4QNNQZiJ=9&NW( zzKz}LYuhBHs7NdMl&spsu5O#?s@A5pmG7LH(YAfR@BDt}dCvd2z2`j7InS%AC8^4A zcGvjRcX}9x>tI+O3BxcJoGYk+O+Uj*HG*;o{Sko!VGKN=&o-&1X*A|)Ifhl!fG1-v zqe(0F)ry-yJ|jRes+C4+r3imG&{sbk0zp<{dXhjQl8ZBi5)md4Lc2j~FzgkkzqFw9^I<}!(qj0`^lZyE}oY6O-<+vpg!kU@5IybhL30oS7W zpwrx!jxG=~(Uh`{44h*)2xEqDis5{(G=Sc@QzM!Gqrk3^fGQ@;6M0RC6YYo(kAsds zLyOVz(6E9N=>zTIQ5|Zz!(>GiU-^I+!;9ucMifry7;hed>X6bDYDnouI=|Ha8QdAa z)aR6%S!F{u(F5`K2rDm5^ej}iL91&TtMW6EXp&lgDMUH0_S%GCsZW$z3caAqI*n-2q$ouBkgseTDu#RJ_HSxl?Z_{s{D31j zDu0{*btpdP4#^oP!iM4?X`Fxq2BpIYAbk-X!!{ew!;;uw~i!)85vngSXyS9TuoxqEzi;N9f;R*OO16IcAQ9FG@udF z7v!h{1)=j61qp&eco7i-2f>mE%^5J2X`r_I$xFGlSNW# zHkLOs0ag%}ODbtPQ=kZm{0~8<_jm1q5lfnlVwtt z#9f%3ogs3U2v>>($!SS)LAEf7u~L|-zS=tD0|wB6t`F#&JxyqIqJT^z3P`W2bVxXf zgxdnn%(d2BE|>81=KjNLmNz%n%*b=*2ar$z?o2jr2=4kZ5uND-=|13ECoXcvEo+JV zqXbP?C(6ng$0x{S7`2EnMc5G>-STfmw(PrC;jHviEc1awF5Q)D_F5lL`|{F-*1N9P zp6kVDzwVn8%U{qxDB`~brCSwIi&}jJRHeH`mkC)63h-2Ni_-0VJZe1$nWZX<yZg$TXEb=IvZ@g*S9=Lxlf;_jV*A|D+)Z-Fos<9~9h%>`u55 zE>+G|(~BI$a(T9&hewh$L;I-V^Y%!}N*2k|QZwPd%pGd}{@nEPK(?J`+zj2E~wUyyNiod*d%JO2h-<;YN0{_RTV@=S!E2lq@_Zt`IG? zyZtt>%;$tSFuc)md*}GoT$AYD=4(-u`bD+%!Z$l|%M+yC&L^x~C4Gxi_fy^sK3uja zD8XjKrhlA!cc#SEi&7C**zj&ozfR+}#FtYgYr%cR>aLl~xCvBAJU&en5f0Ymd}U@p zx2|ZKsfu1a-+kAuZ@B*&nU+$qJ5pv^ztp$M;p-}5_IlBlBh5{$(FEdBCkD zlHd3m?U^tM;&BV`I#{yrNjNN3>HleDZu);c$WCCb2+EgaO`kg4qc*R!QOj%TWX$n#Mrajw{G}U|7}Uu$mxD_zdZJ6<@N_}WtV?XJh)LR zTXHKl(Z9a+@_c&n;<=Bm#AL?K+t{6M!x~T>b*-4U`%S6qj?ybr&gbgZK4u#1I(s}y zFFwAhzuav@R(9-4LF|i^dD{!K_H|hgP6_e|Se5>V_xk8z(ogBN+%DtVzyzKD0vIMz A=>Px# literal 39056 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 literal 43456 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 diff --git a/ddk/normalize_key_text.pl b/ddk/normalize_key_text.pl index 331689a..cd6277f 100755 --- a/ddk/normalize_key_text.pl +++ b/ddk/normalize_key_text.pl @@ -24,7 +24,7 @@ next; } - my ( $key_text, $body_id, $flags, $title, $anchor, $yomi, %entry_title ) = split /\t/, $record; + my ( $key_text, $body_id, $flags, $title, $anchor, $yomi, $entry_title ) = split /\t/, $record; if ( not defined $anchor ) { printf STDERR "*** Unknown format. Skipped [%s]\n", $record; @@ -33,7 +33,7 @@ my $normalized_key = createSearchKey( $key_text ); printf "%s\t%s\t%s\t%s\t%s\t%s\t%s\n", - $normalized_key, $body_id, $flags, $title, $anchor, $yomi, %entry_title; + $normalized_key, $body_id, $flags, $title, $anchor, $yomi, $entry_title; } exit 0;