SVG 1.2 การเพิ่มข้อความเล็ก ๆ แต่การใช้งาน SVG ส่วนใหญ่ที่คุณจะพบในเบราว์เซอร์ (ยกเว้น Opera) ไม่ได้ใช้คุณสมบัตินี้ โดยทั่วไปแล้วขึ้นอยู่กับคุณนักพัฒนาเพื่อจัดตำแหน่งข้อความด้วยตนเอง
ข้อมูลจำเพาะ SVG 1.1 ให้ภาพรวมที่ดีของข้อ จำกัด นี้และวิธีแก้ปัญหาที่เป็นไปได้ในการแก้ไข:
องค์ประกอบ 'ข้อความ' แต่ละข้อความทำให้เกิดการแสดงผลสตริงข้อความเดียว SVG ไม่มีการแบ่งบรรทัดอัตโนมัติหรือการตัดคำ เพื่อให้ได้ผลของข้อความหลายบรรทัดให้ใช้วิธีใดวิธีหนึ่งต่อไปนี้:
- ผู้แต่งหรือแพ็คเกจการเขียนจำเป็นต้องคำนวณการขึ้นบรรทัดใหม่และใช้องค์ประกอบ 'ข้อความ' หลายรายการ (หนึ่งรายการสำหรับแต่ละบรรทัดข้อความ)
- ผู้แต่งหรือแพ็คเกจการเขียนจำเป็นต้องคำนวณการขึ้นบรรทัดใหม่และใช้องค์ประกอบ 'text' เดี่ยวกับองค์ประกอบย่อย 'tspan' หนึ่งรายการหรือมากกว่าด้วยค่าที่เหมาะสมสำหรับแอตทริบิวต์ 'x', 'y', 'dx' และ 'dy' เพื่อกำหนดตำแหน่งเริ่มต้นใหม่สำหรับอักขระเหล่านั้นที่เริ่มบรรทัดใหม่ (วิธีนี้ช่วยให้การเลือกข้อความผู้ใช้ข้ามข้อความหลายบรรทัด - ดูการเลือกข้อความและการทำงานของคลิปบอร์ด)
- แสดงข้อความที่จะเรนเดอร์ใน XML เนมสเปซอื่นเช่น XHTML [XHTML] ฝังแบบอินไลน์ภายในองค์ประกอบ 'foreignObject' (หมายเหตุ: ความหมายที่แท้จริงของวิธีการนี้ไม่ได้กำหนดไว้อย่างสมบูรณ์ในขณะนี้)
http://www.w3.org/TR/SVG11/text.html#Introduction
ในฐานะดั้งเดิมการตัดข้อความสามารถจำลองได้โดยใช้dy
คุณลักษณะและtspan
องค์ประกอบและตามที่ระบุไว้ในข้อมูลจำเพาะเครื่องมือบางอย่างสามารถทำสิ่งนี้โดยอัตโนมัติ ตัวอย่างเช่นใน Inkscape เลือกรูปร่างที่คุณต้องการและข้อความที่คุณต้องการและใช้ Text -> Flow to Frame สิ่งนี้จะช่วยให้คุณเขียนข้อความของคุณพร้อมการพันซึ่งจะเป็นการพันตามขอบเขตของรูปร่าง นอกจากนี้ตรวจสอบให้แน่ใจว่าคุณทำตามคำแนะนำเหล่านี้เพื่อบอกให้ Inkscape รักษาความเข้ากันได้กับ SVG 1.1:
http://wiki.inkscape.org/wiki/index.php/FAQ#What_about_flowed_text.3F
นอกจากนี้ยังมีห้องสมุด JavaScript บางส่วนที่สามารถใช้ในการตัดข้อความอัตโนมัติแบบไดนามิก:
http://www.carto.net/papers/svg/textFlow/
เป็นเรื่องที่น่าสนใจที่จะทราบวิธีแก้ปัญหาของ CSVG เพื่อตัดรูปร่างให้กับองค์ประกอบข้อความ (เช่นดูตัวอย่าง "ปุ่ม" ของพวกเขา) แม้ว่าสิ่งสำคัญคือต้องกล่าวว่าการนำไปใช้งานไม่สามารถใช้งานได้ในเบราว์เซอร์:
http://www.csse.monash.edu .au / ~ CLM / csvg / about.html
ฉันกำลังพูดถึงเรื่องนี้เพราะฉันได้พัฒนาห้องสมุดที่ได้แรงบันดาลใจจาก CSVG ที่ช่วยให้คุณทำสิ่งที่คล้ายกันและทำงานในเว็บเบราว์เซอร์แม้ว่าฉันจะยังไม่ได้เปิดตัวก็ตาม