LINUX.ORG.RU

Надстрочные и подстрочные символы юникода

 


0

2

Нужна таблица для подстановки

В википедии похоже не все буквы указаны https://en.wikipedia.org/wiki/Superscripts_and_Subscripts

b и c например нет. хотя они как бы есть ᵃᵇᶜ

не получается нагуглить, везде этот ограниченный набор

    # Словарь подстрочных символов
    subscript_map = {
        '0': '₀', '1': '₁', '2': '₂', '3': '₃', '4': '₄', '5': '₅',
        '6': '₆', '7': '₇', '8': '₈', '9': '₉', 'i': 'ᵢ', 'j': 'ⱼ',
        '+': '₊', '-': '₋', '=': '₌', '(': '₍', ')': '₎', 'a': 'ₐ',
        'e': 'ₑ', 'h': 'ₕ', 'k': 'ₖ', 'l': 'ₗ', 'm': 'ₘ', 'n': 'ₙ',
        'o': 'ₒ', 'p': 'ₚ', 'r': 'ᵣ', 's': 'ₛ', 't': 'ₜ', 'u': 'ᵤ',
        'v': 'ᵥ', 'x': 'ₓ'
    }
    # Словарь надстрочных символов
    superscript_map = {
        '0': '⁰', '1': '¹', '2': '²', '3': '³', '4': '⁴', '5': '⁵',
        '6': '⁶', '7': '⁷', '8': '⁸', '9': '⁹', 'i': 'ⁱ', 'j': 'ʲ',
        '+': '⁺', '-': '⁻', '=': '⁼', '(': '⁽', ')': '⁾', 'a': 'ᵃ',
        'e': 'ᵉ', 'h': 'ʰ', 'k': 'ᵏ', 'l': 'ˡ', 'm': 'ᵐ', 'n': 'ⁿ',
        'o': 'ᵒ', 'p': 'ᵖ', 'r': 'ʳ', 's': 'ˢ', 't': 'ᵗ', 'u': 'ᵘ',
        'v': 'ᵛ', 'x': 'ˣ'
    }

★★

Ну в википеди же даны ссылки на остальные наборы.

″a″ и ″b″ — это Phonetic Extensions, а ″c″ — Phonetic Extensions Supplement. И они там уже названы по другом, не superscript, поэтому не знаю, будет ли где-то такой словарь, чтобы все буквы в одну таблицу...

mky ★★★★★
()

b и c например нет. хотя они как бы есть ᵃᵇᶜ

Unicode выледяет code points (как это будет по-русски?) по смыслу, а не по похожести глифов. Например, U+0041 LATIN CAPITAL LETTER A и U+0410 CYRILLIC CAPITAL LETTER A — разные символы, которые могут выглядеть идентично.

ᵇ — U+1D43 MODIFIER LETTER SMALL B из блока Phonetic Extensions, это символ из международного фонетического алфавита, а не латинская буква B в верхнем индексе. Никто не может запретить тебе использовать этот символ в качестве верхнего индекса, но это будет моветон. Примерно как использовать тег <h1> не для заголовков, а в тех случаях, когда тебе нужны большие жирные буквы.

debugger ★★★★★
()
Ответ на: комментарий от theurs

А в чем прикол, почему не все латинские буквы есть в подстрочном и надстрочном виде?

Что ты называешь приколом?

В Phonetic Extensions похоже нету буквы f и других еще.

Про IPA я, похоже, соврал, но не сильно:

Phonetic Extensions is a Unicode block containing phonetic characters used in the Uralic Phonetic Alphabet, Old Irish phonetic notation, the Oxford English Dictionary and American dictionaries, and Americanist and Russianist phonetic notations. Its character set is continued in the following Unicode block, Phonetic Extensions Supplement.
https://en.wikipedia.org/wiki/Phonetic_Extensions

Очевидно, что если в Phonetic Extensions нет буквы f в верхнем индексе, значит, она не используется в указанных выше алфавитах и нотациях.

debugger ★★★★★
()
Ответ на: комментарий от debugger

Что ты называешь приколом?

Фишка, задумка, смысл. Тебе не кажется странным что есть всего половина букв?

Может решили не дублировать то что где то уже в другом месте зарыто.

Я когда первый раз увидел подумал что в математике другие буквы в этом месте не используются. Но 2^(b+1) это же вполне ок для математической записи? А буквы такой нету.

theurs ★★
() автор топика
Последнее исправление: theurs (всего исправлений: 2)
Ответ на: комментарий от theurs

Unicode не для математики, они не будет добавлять символы, используемые в математических формулах. Туда добавляют символы, используемые в тексте, если в фонетической транскрипции нет superscript S, но её и не будет в этой таблице. Где-то проведена граница между простой алгебраической формулой и развесистой математической...

И по каким соображения они туда символы запихивают, лучше не думать. Вот 4/5 есть, а 4/9 нет, зато есть 0/3.

mky ★★★★★
()
Ответ на: комментарий от theurs

Тебе не кажется странным что есть всего половина букв?

Нет. Я тебе уже объяснил логику: есть те буквы, которые используются в «the Uralic Phonetic Alphabet, Old Irish phonetic notation, the Oxford English Dictionary and American dictionaries, and Americanist and Russianist phonetic notations».

Но 2^(b+1) это же вполне ок для математической записи? А буквы такой нету.

При чём тут математика, если блок предназначен записи фонетики?

debugger ★★★★★
()
Ответ на: комментарий от mky

И по каким соображения они туда символы запихивают, лучше не думать. Вот 4/5 есть, а 4/9 нет, зато есть 0/3.

Эту систему понять не так уж сложно. С помощью юникода можно записать:

  • все вторые (½), третьи (⅓, ⅔), четвёртые (¼, ½, ¾), пятые (⅕, ⅖, ⅗, ⅘), шестые (⅙, ⅓, ½, ⅔, ⅚), восьмые (⅛, ¼, ⅜, ½, ⅝, ⅔, ⅞) доли;
  • одну долю от одной второй до одной десятой (½, ⅓, ¼, ⅕, ⅙, ⅐, ⅛, ⅑, ⅒);
  • ↉ — «used in baseball scoring»;
  • все прочие дроби записываются с помощью U+2044 FRACTION SLASH (4⁄9†).

† Отображение зависит от шрифта. В некоторых шрифтах числитель уменьшается в размере и приподнимается, а знаменатель уменьшается в размере и приопускается (в Иосевке это было реализовано по моему запросу); в некоторых шрифтах это не реализовано.

debugger ★★★★★
()
Последнее исправление: debugger (всего исправлений: 1)
Ответ на: комментарий от theurs

Надстрочные и подстрочные знаки (англ. Superscripts and Subscripts) — блок стандарта Юникод. Содержит надстрочные и подстрочные цифры, математические операторы и буквы, использовавшиеся в математике и фонетике.

В математике не все английские буквы используются или что.

theurs ★★
() автор топика
Последнее исправление: theurs (всего исправлений: 1)
Ответ на: комментарий от theurs

При чем тут фонетика? Мы же про подстрочные и надстрочные символы говорим, они из другого раздела.

Гм, правда, при чём тут фонетика, если ты используешь символы из Phonetic Extensions?

Кстати, было бы проще, если бы ты использовал стандартные термины, а не придумывал каждый раз свои. Что ты называешь «другим разделом»? Юникодный блок или что-то другое?

Кстати, ты читал Unicode subscripts and superscripts? Что там тебе не понятно:

Unicode has subscripted and superscripted versions of a number of characters including a full set of Arabic numerals. These characters allow any polynomial, chemical and certain other equations to be represented in plain text without using any form of markup like HTML or TeX.

The World Wide Web Consortium and the Unicode Consortium have made recommendations on the choice between using markup and using superscript and subscript characters:

When used in mathematical context (MathML) it is recommended to consistently use style markup for superscripts and subscripts […] However, when super and sub-scripts are to reflect semantic distinctions, it is easier to work with these meanings encoded in text rather than markup, for example, in phonetic or phonemic transcription.

Юникод содержит достаточно символов, чтобы записывать полиномы, химические формулы и фонетические транскрипции; для математики рекомендуется MathML.

debugger ★★★★★
()