SVG 1.2 Tiny thêm gói văn bản, nhưng hầu hết các trường của SVG rằng bạn sẽ tìm thấy trong trình duyệt (với ngoại lệ của Opera) đã không thực hiện điều này đặc tính. Nó thường tùy thuộc vào bạn, nhà phát triển, để định vị văn bản theo cách thủ công.
Các SVG 1.1 đặc điểm kỹ thuật cung cấp một cái nhìn tổng quan tốt của hạn chế này, và các giải pháp khả thi để vượt qua nó:
Mỗi phần tử ‘text’ gây ra một chuỗi duy nhất của văn bản để được trả lại. SVG không thực hiện ngắt dòng tự động hoặc gói từ. Để đạt được hiệu quả của nhiều dòng văn bản, sử dụng một trong các phương pháp sau:
- Tác giả hoặc tác giả gói cần để sẵn tính ngắt dòng và sử dụng nhiều yếu tố 'text' (một cho mỗi dòng dòng văn bản).
- Tác giả hoặc tác giả gói cần pre-tính toán dòng phá vỡ và sử dụng một 'text' đơn tố với một hoặc nhiều 'tspan' con yếu tố với các giá trị thích hợp cho 'x' thuộc tính, 'y' , 'dx' và 'dy' thành đặt vị trí bắt đầu mới cho những ký tự bắt đầu dòng mới. (Cách tiếp cận này cho phép người sử dụng văn bản lựa chọn trên nhiều dòng văn bản -. Thấy lựa chọn văn bản và hoạt động vào clipboard)
- Thể hiện các văn bản để được trả lại trong một không gian tên XML như XHTML [XHTML] nhúng inline trong phần tử 'ngoại lệ'. (Lưu ý: ngữ nghĩa chính xác của phương pháp này được không hoàn toàn được xác định vào thời điểm này.)
http://www.w3.org/TR/SVG11/text.html#Introduction
Như một nguyên thủy, văn bản gói có thể được mô phỏng bằng cách sử dụng các thuộc tính dy và các yếu tố tspan và như đã đề cập trong thông số kỹ thuật, một số công cụ có thể tự động hóa điều này. Ví dụ, trong Inkscape, chọn hình dạng bạn muốn, và văn bản bạn muốn, và sử dụng Text -> Flow into Frame. Điều này sẽ cho phép bạn viết văn bản của bạn, với gói, mà sẽ bọc dựa trên các giới hạn của hình dạng. Ngoài ra, hãy đảm bảo bạn làm theo các hướng dẫn này để cho Inkscape biết khả năng tương thích với SVG 1.1: http://wiki.inkscape.org/wiki/index.php/FAQ#What_about_flowed_text.3F
Bên cạnh đó, có một số thư viện JavaScript có thể được sử dụng để tự động tự động gói văn bản: http://www.carto.net/papers/svg/textFlow/
Thật thú vị cần lưu ý giải pháp CSVG để gói một hình dạng một yếu tố văn bản (ví dụ như nhìn thấy họ " nút" chẳng hạn), mặc dù nó quan trọng là phải đề cập đến rằng việc thực hiện của họ là không có thể sử dụng trong một trình duyệt: http://www.csse.monash.edu.au/~clm/csvg/about.html
tôi nhắc đến điều này bởi vì tôi đã phát triển một thư viện CSVG lấy cảm hứng từ đó cho phép y để làm những việc tương tự và hoạt động trong trình duyệt web, mặc dù tôi chưa phát hành.
Và thậm chí không làm cho tôi bắt đầu về những gì đang tham gia vào việc tạo ra * có thể chỉnh sửa văn bản ... * – jbeard4
Cảm ơn bạn đã trả lời ... nhưng ACK! Có vẻ như tôi sẽ phải bỏ svg rồi. Một trong những điều đầu tiên các nhà phát triển nên nghĩ đến là đính kèm văn bản (được định dạng như mong muốn của người dùng) thành hình dạng! Tôi sẽ chờ đợi cho đến khi họ có được hành động của họ với nhau trước khi tôi làm nữa với nó. Tôi sẽ cố gắng vẽ lại nó trong Windows Paint và xem liệu nó có làm được không. (Nếu tôi chỉ có thể làm cho trình duyệt hiển thị bảng chính xác.) –
Giới thiệu về văn bản có thể chỉnh sửa trong svg, Opera hỗ trợ thuộc tính có thể chỉnh sửa từ SVG 1.2 Tiny, cho phép có thể chỉnh sửa văn bản bằng cách thêm thuộc tính 'editable =" true "' đến phần tử văn bản hoặc phần tử textArea. –