Your SlideShare is downloading. ×
0
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
SWF研究会#2 LT フォントとテキスト
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

SWF研究会#2 LT フォントとテキスト

1,928

Published on

SWF 研究会#2@東京

SWF 研究会#2@東京

0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,928
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
7
Comments
0
Likes
3
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. フォントとテキスト
  • 2. 自己紹介twitter: @rakusan(株)ソニックムーブ 倉持佳和Flash Lite 1.1相当のプレーヤを作ってます 「海の上のカメ農園 Ameba,GREE」 での iPhone 対応
  • 3. SWFのテキストグリフテキスト● フォント埋め込み● 再生環境によらず同じ描画結果● グリフのアウトラインデータはシェイプデバイステキスト● 再生環境のテキスト描画機能を使用する● 再生環境によって描画結果が異なる
  • 4. フォントとテキストのタグDefineFont, DefineFontInfo, DefineFontInfo2,DefineFont2, DefineFont3,DefineFontAlignZones, DefineFontName,DefineText, DefineText2, DefineEditText,CSMTextSettings, DefineFont4
  • 5. フォントとテキストのタグDefineFont, DefineFontInfo, DefineFontInfo2,DefineFont2, DefineFont3,DefineFontAlignZones, DefineFontName,DefineText, DefineText2, DefineEditText,CSMTextSettings, DefineFont4 DefineFont + DefineFontInfo → DefineFont2 DefineTextのTextColorをRGBAに → DefineText2
  • 6. 各タグの関係PlaceObject2 DefineText DefineFontCharacterID=3 CharacterID=3 FontID=1 TEXTRECORD FontID=1 DefineFont2 TEXTRECORD StyleFlagsHasFont=0 FontID=2 TEXTRECORD FontID=2 …PlaceObject2 DefineEditTextCharacterID=4 CharacterID=4 FontID=2
  • 7. DefineFont2 OffsetTable GlyphShapeTableDefineFont2 UI16[NumGlyphs] or UI32[NumGlyphs] SHAPE[NumGlyphs]FontID グリフ0のシェイプへのオフセット グリフ0のシェイプ グリフ1のシェイプへのオフセットFontFlagsShiftJISFontFlagsWideOffsets グリフ2のシェイプへのオフセット グリフ1のシェイプFontFlagsWideCodes … グリフ2のシェイプFontNameNumGlyphs CodeTable UI8[NumGlyphs] or UI16[NumGlyphs]OffsetTable …CodeTableOffset グリフ0の文字コードGlyphShapeTable グリフ1の文字コードCodeTable EM square …FontAdvanceTable Q FontAdvanceTable 1024 SI16[NumGlyphs] グリフ0の字送り幅 グリフ1の字送り幅 … 1024
  • 8. DefineTextDefineTextTextMatrixTextRecords TEXTRECORD FontID TextColor XOffset YOffset TextHeight GlyphEntries 僕と契約して GLYPHENTRY GlyphIndex GlyphAdvance GLYPHENTRY 魔法少女になってよ … TEXTRECORD …
  • 9. DefineTextDefineTextTextMatrix PlaceObjectのMatrixTextRecords TEXTRECORD FontID TextColor TextMatrix XOffset YOffset TextHeight XOffset, YOffset GlyphEntries TEXTRECORD 僕と契約して GLYPHENTRY GlyphIndex TextHeight DefineFont2 GlyphAdvance GlyphAdvance GLYPHENTRY 魔法少女になってよ … TEXTRECORD TEXTRECORD TEXTRECORD …
  • 10. DefineEditTextDefineEditText DefineTextとは異なり文字の位置取り等を自分でUseOutlinesWordWrap 制御する必要があるAlignLeftMarginRightMarginIndent グリフテキストの場合 (UseOutlines=1)Leading ● DefineFont2のCodeTableから、文字 コード→グリフインデックス LeftMargin RightMargin ● グリフインデックスからシャイプや字送 り幅を得る Indent デバイステキストの場合 (UseOutlines=0) Leading ● 再生環境のテキスト描画機能を使用 ● HTML5 Canvasでは ○ measureText() ○ fillText() 字送り幅はDefineFont2のFontAdvanceTable
  • 11. ご清聴ありがとうございました

×