MathML 6 / Znaky, entity, písma

Kategória:

Notácia a symboly sú pre matematiku veľmi dôležité. S vývojom matematiky sa vyvíjali aj nové znaky používané v matematickej notácií. Bez týchto znakov a bez príslušných piktogramov na ich vykreslenie na zobrazovacom zariadení je používanie matematiky veľmi zložité.

Unicode

Každý znak povolený v XML môže byť použitý v MathML v XML dokumente. Všetky povolené znaky majú hexadecimálny kód, napríklad 09 (tab = U+0009), 0D (carriage return = U+000D). Táto notácia začínajúca U+ je odporúčaná na odkazovanie na znaky Unicode.

Existujú tri rôzne spôsoby kódovania dát :

  • Priame používanie znakov.
    Napríklad znak A môže byť zadaný zadaním A na klávesnici (znak U+0041). Táto možnosť je vždy dostupná, ak kódovanie XML dokumentu obsahuje daný znak. Väčšina používaných kódovaní obsahuje A v ASCII. Vo viacerých kódovaniach však znaky vyžadujú viac ako jeden byte. Ak je napríklad dokument kódovaný v Latin-1 (ISO-8859-1), iba znaky tohto kódovania sú prístupné priamo. Pri použití UTF-8 alebo UTF-16 môžu byť matematické symboly kódované ako znakové dáta.
  • Použitie číselných referencií XML.
    Pomocou tejto notácie by mal byť znak A reprezentovaný ako A (decimálne) alebo A (hexadecimálne). Tieto dve čísla sa vždy vzťahujú na kódovanie Unicode. Použitím znakových referencií je vždy možné pristupovať ku všetkým znakom Unicode.
  • Použitie referencií na entity.
    MathML DTD definuje vnútorné entity rozšíriteľné na znakové dáta. Napríklad referencia &eacute by mala byť použitá namiesto "é prípadne znaku é, ak je dokument v kódovaní ISO-8859-1.      

Matematické alfanumerické symboly

Ľahko povšimnuteľným znakom matematiky je používanie jedného znaku na reprezentáciu premenných a konštánt v danom kontexte. Rozvoj a komplexnosť vedy viedli k používaniu rôznych kombinácií abecedy a písma na zabezpečenie dostatku špeciálnych symbolov pre tieto typy. Tieto znaky v skutočnosti nie sú písmená na vytváranie slov s určitým významom ale samotnými nositeľmi sémantickej informácie. Napísanie reťazca takýchto znakov je zvyčajne interpretované podľa nejakého pravidla, príkladom môže byť násobenie.

Ďalšie matematické alfanumerické znaky poskytované Unicode 3.1 majú kódy v Plane 1, čo je skupina znakov Unicode s hodnotou väčšou ako 216 . Táto skupina znakov sa nazýva aj Secondary Multilingual Plane (SMP) a rozširuje pôvodnú skupinu Basic Multilingual Plane (BMP), ktorá tvorí základ Unicode. Podpora znakov Plane 1 však nie je v súčasnom softvéri vždy spoľahlivá.

Matematické alfanumerické symboly by nemali byť používané na tvorbu štylizovaného textu.

Neviditeľné znaky

Niektoré znaky, hoci môžu byť dôležité pre kvalitu tlače alebo alternatívneho renderovania, nemajú piktogramy, ktoré im priamo zodpovedajú. V MathML 2 je kompozícia strany ovplyvnená atribútmi elementu mspace.

Nasledujúce znaky zvyšujú kvalitu tlače, dovoľujú správne audio renderovanie a správne pochopenie sémantiky matematického textu, ktorý je vizuálne viacznačný.

Názov znaku

Unicode

Popis

⁢

02062

Označuje násobenie ak je chápané bez značky

⁣

02063

Používaný ako separátor

⁡

02061

Znak ukazujúci aplikáciu funkcie v prezentačnom značkovaní

Špeciálne konštanty

Názov entity

Unicode

Popis

ⅅ

02145

D používané pri deriváciách

ⅆ

02146

d používané pri deriváciách

ⅇ

02147

e ako základ prirodzeného logaritmu

ⅈ

02148

i ako imaginárna časť komplexného čísla

Negované matematické znaky

Okrem už spomínaných Unicode znakov je možné použiť kombináciu znakov U+0338 (/), U+20D2 (|) a U+20E5 (\) na vytváranie negovaných a preškrtnutých foriem znakov. V podstate môžu byť znaky negácie použité na akýkoľvek Unicode znak, aj keď niektoré písma navrhnuté pre matematiku už negované piktogramy obsahujú. V takomto prípade by mal renderer použiť tieto piktogramy.

Znaky matematických variantov

Unicode sa snaží zamedziť použitiu viacerých znakových kódov pre jednoduché varianty písma. Na rozlišovanie variantov písma slúži špeciálny Unicode znak U+FE00 (variant selector), ktorý vystupuje ako postfixový modifikátor. Výsledná kombinácia nie je samostatný znak ale variácia pôvodného znaku. Ak však systém nepodporuje piktogram variantu znaku, renderer tento znak vykreslí ako pôvodný znak.