ผมไปเจอมาจาก Freemac.net มา แล้วผมก็ลองเอามาลองสังเกตุและลองถอดๆ ออกมาดู เลยได้มาว่า
มันใชหลักการเข้ารหัสไฟล์ Font ttf ด้วย base64 ครับ แล้วยัด Payload โดยใช้ Syntax ดังนี้
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>PayloadContent</key> <array> <dict> <key>Font</key> <data> ฺBase 64 ของไฟล์ </data> <key>PayloadIdentifier</key> <string>ชื่อ Identifier .ชิ่อ font</string> <key>PayloadType</key> <string>com.apple.font</string> <key>PayloadUUID</key> <string>B0DF5525-7120-406F-AC71-5A5BA59ECD82 </string> <key>PayloadVersion</key> <integer>1</integer> </dict> </array> <key>PayloadDisplayName</key> <string>ชื่อ Payload</string> <key>PayloadIdentifier</key> <string>ชื่อ Identifier</string> <key>PayloadOrganization</key> <string>Font Profile</string> <key>PayloadType</key> <string>Configuration</string> <key>PayloadUUID</key> <string>0A35FE6A-C980-442B-9BD3-F44C67CA0D19 </string> <key>PayloadVersion</key> <integer>1</integer> </dict> </plist> |
วิธีการถอดรหัส Font ออกจาก plist
เอาส่วนที่ระหว่าง <data> …… </data>
ออกมา แล้วเขียน php ถอด
<?php $code = "ส่วนของ <data>....</data> ที่เราแยกมา"; header('Content-type: application/octet-stream'); header('Content-Disposition: attachment; filename="test"'); echo base64_decode($code); ?> |
แล้วเปลี่ยนชื่อจาก test เป็น test.ttf ครับ เราก็จะได้ Font ที่เราถอดจาก plist มาแล้วครับ
การเข้ารหัส Font เพื่อเอาไปใส่ใน plist
เผื่อใครจะเอาไปทำ font ยัดใส่ iOS เองนะครับ
<?php $file = "ที่อยู่ของ font .ttf"; $code = file_get_contents($file); echo base64_encode($code); ?> |