旧石器時代のIllustrator形式ファイルの更新について
えーと、こちらなのですが……
古いIllustrator形式ファイルを更新かけずに保存したら文字が消えたってやつなんですね。
で、何が起きているのかを説明します。
本来の構造です。
%AI5_BeginLayer 1 1 1 1 0 0 1 0 79 128 255 0 50 Lb (\203\214\203C\203\204\201[ 1) Ln 0 A 0 To 1 0 0 1 55.75 629.6387 0 Tp 0 Tv TP 0 Tr 0 O 0 0 0 1 k 800 Ar 0 J 0 j 1 w 4 M []0 d %AI3_Note: 0 D 0 XR %_ 0 50 XQ /_Ryumin-Light-83pv-RKSJ-H 12 10.56 -1.44 Tf 0 Ts 100 100 Tz 0 Tt %_0 0 100 100 Xu %AI55J_GlyphSubst: GlyphSubstNone 1 TA %_ 0 XL 0 TY 1 TV 36 0 Xb XB 0 0 5 TC 100 100 200 TW 25 TG 0 0 0 Ti 0 Ta 0 1 2 2 3 Th 0 Tq 112 Tg 0 0 Tl 0 Tc 0 Tw (\201\100\202\304\202\267\202\306) Tx 1 0 Tk (\r) Tx 1 0 Tk TO LB %AI5_EndLayer--
古いIllustrator形式書類ってテキストデータなんですよ? 知ってました???
これをCCで開くと「更新しろ」ってうるさいんですが、そんなものは「ガン無視」で開いて新しい形式で保存しちゃいます。すると…
%AI5_BeginLayer 1 1 1 1 0 0 1 0 79 128 255 0 50 0 Lb (繝ャ繧、繝、繝シ 1) Ln 0 AE %_/ArtDictionary : %_/XMLUID : (繝ャ繧、繝、繝シ_1) ; (AI10_ArtUID) , %_; %_ 0 A 0 Xw /ArtLegacyText : 1 /Version , 1 0 0 -1 -7893 8611.88868938009 /RTransform , 7893 8611.88868938009 /Origin , 55.75 625.57062989477 103.75 641.638684093989 /Bounds , /Data , %,u@!!/MSk8%41#ocdN=10d&.mDdmGj4?P8n@:s.m+>P&n+AsjlH#R=J6Xb(FCi<rM4q2(@A8bpl%5K%[+E(_(%6Qa+6Z7*bF<E:k %95.pX>;RHV+AuJu<-`Fo02Q(iATL%!%:sEfDdmGj1a"IpDdmGj4?P8_EcaWdGZujS0H`&%0H`23/heD&2D-[A3&+\l6Z6jaASuU2 %+>k8q+Asj[Ec5n`Dg5J?/heD%/heD)3%cm-0fCX<2E3Es026"gBjj>HGZujS0H`&%0H`23/heD&2D-[A3&+\l:gnBUDKI!V+>=p9 %02cA&Dfp)1ATKsr01C,-7oOM<FCdQs01Sqp+>t>r+AtBe01KktF?DZ=6SMk$+?(Ds+AtBe02Q\-@oHr\>;&f@7P@_PG][4T4tfl\ %E+L\!@:s.84q2(@A8bpl%5f7^+E(_(%6Qa+9P&*SFD)dW1Hn!DFE1r$D%-h=<!k<%0H`%l0d(6=02Q5#@qBV$F^])/EbPk67oM)a %B6+D56SMk$+>G!<AdU7J+>=ol+>GVo0H`2)0K(mI+B31b4?,&P0K:gT1cR6W2`NQ[2Ek)T$:Ro$%:sEfF*)G6@;QHbDIdZpC(3*E %0Hb:CC(39f01')gAO^TUF>$O;F_ti1/PKkkBQPgc1N7Lh;G0q\/P%N_ATM?mDId0nF@L1dFE8Qa+>=p901BbgDe*R"B.l5#E-<g2 %92eG782!na@WZm7AM7#.E+L^V<-`Fo01KktF?VktASu$s@VQ?3+>=pV@VQ?V3?U!u;I'`CDIdZpC(30G0Hb:CC(39f01')gAO^TU %F>$O;F_ti1/PKkkBQPgc1N7Lh;G0q\/P%N^8OQL&F*(u18T&-Y+>GPm0Ha7H6rtKc0JG167W30d6tLFLEbTK7DfQsT0d&.m;D1sk %@WZm7AM6DB6q2*4FB!O)AM>c:H#R=J7W30d5!BEeDIdZpC(2mO+>=pV@VQ?74>0KNA7]dqDJ(@i@;oXm0e"bRAS5^uFE2XT6"FnC %ALT92F`;;9ASl!rF<E;%4q2(@A8bpl%5BR[0Hb:CC(39f00sYhASuT40f1RE010/e87cLJBQP@U2D[!SATM?mDKI!Q1G_$E7VlLG %F!*7o01KktF@&<4GZuaW1-$I/1G_$60etI?+>G],3F+:-Df0Yd@;T^pGpl=(H?F"3+@g?lBPCs!:i\Hh+AsXA7W30d:18!N02d(< %D/!l>9PJ-QF=fI.E-<g292eG782!GNDKJg!Eb0?&BJ3,!Ec#6$01KktFB<$fB4uB01GCL98T\BWBk'GHB5D-%0J?@HASkHj3&E9f %H#R=J7W30d6tLFLEbTK7DfRL587cLJBQP@S1c7H\%:sEfDdmGj2BX[rDdmGj4?P8_8Q-aD@;L!r01&Ad:2b/i@;ISa5p.m70J?3u %+D,%uF(I"#:e`&e02k.ZFE2M802kSRF)*F(Df0,><-`Fo01C,-7oOM<FCd+8@3@9W0J@?`+D,%uF(IO!%:sEfDdmGj1E\@oDdmGj %4?Pek%:sEfDdmGjG]IA-%14d30es1F0JG170JG170JFV-2)R0I+D)&i0JG170JG170fC..0JG17+DqVq0JG170JG172DH=.0JG17 %+DqVq0JG170JG493AM^20JG17+DqVq0JG170JG180esk*0JG17+DqVq0JG170JG1:1H-F10JG17+DqVq0JG170JG483%uI/0JG17 %+DqVq0JG170JG1;2`Mp60JG17+DqVq0JG170JG1<3B8390JG17+DqVq0JG170JG1=1,9t+0JG17+DqVq0JG170JG1>2)l^40JG17 %+DqVq0JG170JG1?1,U1.0JG17+DqVqFE1f(Ch7Vr4?P8qBmO>50etC[Df9_?0d&.m;D1UZAoAeJ+>=p901eQ94?#2f5r^Vc1,q*M %75RCg3'otu0g[`P3'fl#0JYpS5s@Cd1IO5\0Jc$O0h"Gd2_d$H6pX6r76*e+3&!-D7Q!Iq>s:F]F*(i2FEhh;AdpIM0es1a,t1U!%0~> X= 0 Ae u /AI11Text : 1 /FreeUndo , 0 /FrameIndex , 0 /StoryIndex , 2 /TextAntialiasing , ; %_/ArtDictionary : %_(abca316c-9624-42f6-8191-e0bff7e5f3e2) /UnicodeString (AI24 TextStoryRawDataUUID) , %_; %_ 0 1 0 0 0 Xy 0 J 0 j 1 w 10 M []0 d 0 XR 0 0 Xd 6 () XW U 9 () XW X+ /AI11TextFrameGroup , ; %_/ArtDictionary : %_(d067cb68-4dce-4715-8cf0-17b79fac5c7c) /UnicodeString (AI24 ForeignArtRawDataUUID) , %_; %_ 0 0 Xd 6 () XW LB %AI5_EndLayer--
こんなかんじっすね。
更新されなかったテキストは/ArtLegacyTextって名前のオブジェクトになってます。データ実態は/Data以下のエンコードされたストリーム部分に含められています。これはAscii85エンコードですのでデコードしちゃいます。
%PDF-1.5 %âãÏÓ (¨![obj <</Pages 2 0 R/Type/Catalog>> endobj 2 0 obj <</Count 1/<![CDATA[]]>Kids[4 0 R]/Type/Pages>> endobj 4 0 obj <</ArtBox[0.0 0.0 48.0 16.0681]/Contents<![CDATA[]]> 5 0 R/CropBox[0.0 0.0 48.0 16.0681]/MediaBox[0.0 0.0 48.0 16.0681]/Parent 2 0 R<![CDATA[]]>/Resources<</ExtGState<</GS0 6 0 R>>/Font<</C0_0 7 0 R>>/ProcSet[/PDF/Text]>>/Ty<![CDATA[]]>pe/Page>> endobj 5 0 obj <</Length 93>>stream BT 0 0 0 1 k /Perceptual ri /GS0 <![CDATA[]]>gs /C0_0 1 Tf 12 0 0 12 0 4.0684 Tm <814082C482B782C6>Tj ET endstream endobj 7 <![CDATA[]]>0 obj <</BaseFont/Ryumin-Light-83pv-RKSJ-H/DescendantFonts 8 0 R/Encoding/83pv-R<![CDATA[]]>KSJ-H/Subtype/Type0/Type/Font>> endobj 8 0 obj [9 0 R] endobj 9 0 obj <</BaseFon<![CDATA[]]>t/Ryumin-Light-83pv-RKSJ-H/CIDSystemInfo 10 0 R/DW 1000/FontDescriptor 11 0 R/Su<![CDATA[]]>btype/CIDFontType0/Type/Font>> endobj 10 0 obj <</Ordering(Japan1)/Registry(Adob<![CDATA[]]>e)/Supplement 1>> endobj 11 0 obj <</Ascent 1409/CapHeight 763/Descent -339/Flag<![CDATA[]]>s 32/FontBBox[-529 -339 1214 1409]/FontFamily(Kozuka Gothic Pr6N R)/FontName/Ryu<![CDATA[]]>min-Light-83pv-RKSJ-H/FontStretch/Normal/FontWeight 300/ItalicAngle 0/StemV 84/T<![CDATA[]]>ype/FontDescriptor/XHeight 545>> endobj 6 0 obj <</AIS false/BM/Normal/CA 1.0/OP<![CDATA[]]> false/OPM 1/SA true/SMask/None/Type/ExtGState/ca 1.0/op false>> endobj 3 0 obj <![CDATA[]]><<>> endobj xref 0 12 0000000000 65535 f 0000000016 00000 n 0000000061 00000<![CDATA[]]> n 0000001192 00000 n 0000000112 00000 n 0000000337 00000 n 0000001080 00000<![CDATA[]]> n 0000000478 00000 n 0000000599 00000 n 0000000622 00000 n 0000000758 00000<![CDATA[]]> n 0000000825 00000 n trailer <</Size 12/Root 1 0 R/Info 3 0 R/ID[<77EA82A2848<![CDATA[]]>E4D38BCA1B518ABF02A9A><23D9503B31EC47118DAE1E9EF8032F5A>]>> startxref 1212 %%EOF
こ~んなかんじのPDFになっています。
これを再度Illustratorで開いて更新しようとするとテキストが消えちゃいます。
%AI5_BeginLayer 1 1 1 1 0 0 1 0 79 128 255 0 50 0 Lb (繝ャ繧、繝、繝シ 1) Ln 0 AE %_/ArtDictionary : %_/XMLUID : (繝ャ繧、繝、繝シ_1) ; (AI10_ArtUID) , %_; %_ 0 A 0 Xw LB %AI5_EndLayer--
こんな感じでテキストだった部分が欠落するんですね。恐らくなんですが、オリジナルのLegacyTextからPDFに変換したのにLegacyTextとして処理を行うものだからデータを拾えないという……
ということなんで、UservoiceにもVoteしてコメント付けましたけど、仕様ですキリッって言いそうなんで、古いIllustrator形式のファイルはオリジナルを壊さないよう、開く時は必ず更新するでお願いします。