Istnieją takie znaki sterujące Unicode, które spełniają tę samą rolę jak znaczniki. Które należy stosować, a których należy unikać?
Odpowiedź zależy od tego, które znaki bierzemy pod uwagę. Szczegółowe informacje znajdziesz w notatce W3C i raporcie technicznym Unicode Unicode in XML & Other Markup Languages. Ten artykuł podsumowuje niektóre z informacji zawartych w tamtym dokumencie.
Następująca tabela podaje listę znaków, których (według Unicode in XML & Other Markup Languages) nie należy stosować w kontekscie znaczników. Zamiast tego powinieneś stosować znaczniki.
| Nazwy/opis | Komentarz |
|---|---|
| Separator wierszowy i akapitowy | Używaj <br>, <p> itp. |
| Znaki sterujące osadzaniem bidi (LRE, RLE, LRO, RLO, PDF) | Nie polecane gdzie istnieją znaczniki |
| Aktywować/wstrzymać symetryczną zamianę (np. nawiasów) | Przestarzałe w Unicode |
| Aktywować/wstrzymać zmianę formy przy łączeniu znaków arabskich | Przestarzałe w Unicode |
| Aktywować/wstrzymać narodową zmianę cyfr | Przestarzałe w Unicode |
| Międzywierszowe znaki adnotacyjne | Używaj znaczników ruby |
| BOM / ZWNBSP | Używaj U+FEFF wyłącznie jako znacznik kolejności bajtów. Używaj U+2060 Word Joiner (łącznik słów) jako spację niełamiącą o zerowej szerokości zamiast U+FEFF |
| Znak zastąpienia obiektu | Używaj znaczników, np. w HTML <object> lub <img> |
| Notacja muzyczna | Używaj odpowiedniego języka znaczników |
| Kody znaków dla tagów językach | Używaj atrybutu lang i/lub xml:lang |
Szczególnie znaki sterujące osadzaniem dwukierunkowym często wprawiają w zakłopotanie. Są takie miejsca, gdzie trzeba ich używać, żeby uzyskać odpowiednio uporządkowany dwukierunkowy tekst w językach napisanych w pismach pisanych od prawej do lewej, jak pismo arabskie, hebrajskie, taana itp. Są to miejsca, gdzie pewien element nie pozwala na wewnętrze znaczniki, jak np. element title. Tam gdzie istnieją znaczniki, powinieneś ich używać. Szczegółowe informacje o tym znajdziesz w Unicode controls vs. markup for bidi support. Rekomendacje, jak stosować znaki sterujące osadzaniem w sytuacjach kiedy znaczniki nie mogą być użyte, znajdziesz w Using Unicode controls for bidi text.
Następująca lista nie jest zupełna. Znajdziesz w niej niektóre przykłady znaków Unicode, które nadają się do stosowania dodatkowo do znaczników, żeby dostarczyć informacji o tekscie.
| Nazwy/opis | Komentarz |
|---|---|
| Różne | spacja niełamiąca (no-break space), miękki dywiz (soft hyphen), kombinujący łącznik grafemów (combining grapheme joiner), łącznik nierozdzielający (non breaking hyphen), łącznik słów (word joiner) itp. |
| Łączniki zerowej szerokości (rozdzielający i nierozdzielający, zero-width joiners, ZWJ i ZWNJ) | np. niezbędne dla perskiego |
| Implicytne znaki kierunkowe (LRM i RLM) | |
| Znaki formatowania | popularne w pismach arabskim i syryjskim |
| Selektory wariantowe | np. niezbędne dla pisma mongolskiego |
| Znaki opisu ideograficznego | wskazują kompozycje ideogramów |
Wyciąg z Unicode in XML & Other Markup Languages:
Standard Unicode podaje mapę kompatybilności dla niektórych znaków. Mapy kompatybilności wskazują relację do innego znaku, ale dokładny charakter tego stosunku różni się. W niektórych przypadkach ten stosunek oznacza „bazuje na”, w innych przypadkach określa właściwość. Kiedy tekst zostaje oznaczony znacznikami, może mieć sens zmapowanie niektórych z tych znaków z ich kompatybilnymi odpowiednikami i odpowiednymi znacznikami. Ważnym jest rozumieć naturę różnic pomiędzy znakami i ich kompatybilnymi odpowiednikami oraz kontekst, w którym te różnice się liczą. Nie zaleca się stosować map kompatybilności bezkrytycznie.
Następująca tabela podaje niezupełną listę przykładów.
| Nazwy/opis | Przykłady | Wniosek |
|---|---|---|
| Litery i liczby w okręgu używane jako punktory | ① ② ③ Ⓐ Ⓑ Ⓒ ㊂ ㊃ ㊄ ㊓ ㊔ ㊕ ㋝ ㋞ ㋟ | OK |
| Liczby w nawiasach lub z kropkami używane jako punktory | ⑴ ⑵ ⑶ | Używaj stylizacji punktorów |
| Arabskie formy prezentacji | ﻉ ﻊ ﻋ ﻌ | Normalizuj |
| Znaki o połowie szerokości i o pełnej szerokości | ヤ ユ ヨ ラ a b c d | OK |
| Indeksy górne i dolne | ¹ ² ³ ₁ ₂ ₃ | Używaj znaczników <sup> i <sub> |
Jesteś początkujący? Wprowadzenie do zbiorów znaków i kodowań http://www.w3.org/International/getting-started/characters
Tutorial: Obsługa kodowania znaków w HTML i CSS http://www.w3.org/International/tutorials/tutorial-char-enc/
Powiązane artykuły: Tworzenie dokumentów HTML i CSS
Powiązane artykuły: Tworzenie dokumentów XML