0 Пользователей и 1 Гость просматривают эту тему.
ó - i (историческое о) rók - rokóv[...]ві (из о) - ò (òd, òdpověď - від, відповідь)
Цитата: dagege от Апреля 24, 2022, 10:57ó - i (историческое о) rók - rokóv[...]ві (из о) - ò (òd, òdpověď - від, відповідь)Esce lo es pisible ce la leteras "ó" e "ò" juntada a un?Нелзя ли "ó" и "ò" объединить в одну букву?
Можно. При одном условии: если вы мне нагадаете хоть одно слово, которое начинается с i, но которое происходит из о, но при этом нет начального вставного в-.
Цитата: dagege от Апреля 24, 2022, 13:02Можно. При одном условии: если вы мне нагадаете хоть одно слово, которое начинается с i, но которое происходит из о, но при этом нет начального вставного в-.Хіба що в діалектах буває без вставного. Як правило, в початковій позиції перед і<о скрізь додадається в-.В багатьох українських етимологічних правописах Ô позначало як і<о після приголосних, так і ві<о на початку слова (іншими словами, буква ô читалась як і після приголосних та як ві на початку слова: ôвця, рôгѣ). Хоча Максимович, наприклад, передавав ві<о як вô (вôвця, рôгъ).
Цитата: Python от Апреля 24, 2022, 13:27Цитата: dagege от Апреля 24, 2022, 13:02Можно. При одном условии: если вы мне нагадаете хоть одно слово, которое начинается с i, но которое происходит из о, но при этом нет начального вставного в-.Хіба що в діалектах буває без вставного. Як правило, в початковій позиції перед і<о скрізь додадається в-.В багатьох українських етимологічних правописах Ô позначало як і<о після приголосних, так і ві<о на початку слова (іншими словами, буква ô читалась як і після приголосних та як ві на початку слова: ôвця, рôгѣ). Хоча Максимович, наприклад, передавав ві<о як вô (вôвця, рôгъ). З іншого боку, ві<о може бути й не на початку слова, а після префіксу: безвідповідальність.
кожній літері сучасної української кирилиці має відповідати окрема літера латиниці, апостроф теж має зберігатись на своєму місці.
паралельно має існувати й варіант, де додаткові літери замінено диграфами
#!py -3translit='''А A Б BВ VГ HҐ GД DЕ EЄ ËЖ ŽЗ ZИ YІ IЇ ÏЙ JК KЛ LМ MН NО OП PР RС SТ TУ UФ FХ XЦ CЧ ČШ ŠЩ Qщ ßЬ ɪь ıЮ ÜЯ Ä'''digraphs='''Ä AwÜ UwË EwÏ IwŽ ZwŠ SwČ Cwß qɪ Jwı jw'''if 0:'''Ä Ja J'aÜ Ju J'uË Je J'eÏ Ji J'iŽ Zh Z'hŠ Sh S'hČ Ch C'hß q qɪ Jh J'h'''translit=[*map(str.split, translit.strip().split('\n'))]digraphs=[*map(str.split, digraphs.strip().split('\n'))]d_cyr2lat=dict(translit)for c in list(d_cyr2lat): if c.lower() not in d_cyr2lat: d_cyr2lat[c.lower()]=d_cyr2lat[c].lower() d_lat2cyr={d_cyr2lat[c]:c for c in d_cyr2lat} d_lat2asc=dict(digraphs)for c in list(d_lat2asc): if c.lower() not in d_lat2asc: d_lat2asc[c.lower()]=d_lat2asc[c].lower() d_asc2lat={d_lat2asc[c]:c for c in d_lat2asc}for c in list(d_asc2lat): if c[0]<='Z': d_asc2lat[c.upper()]=d_asc2lat[c]d_lat2cyr['ẞ']='Щ'd_lat2asc['ẞ']='Q't_cyr2lat={ord(c):d_cyr2lat[c] for c in d_cyr2lat}t_lat2cyr={ord(c):d_lat2cyr[c] for c in d_lat2cyr}t_lat2asc={ord(c):d_lat2asc[c] for c in d_lat2asc}def cyr2lat(s): return s.translate(t_cyr2lat) def lat2asc(s): return s.translate(t_lat2asc)def cyr2asc(s): return lat2asc(cyr2lat(s)) all2asc=cyr2ascdef asc2lat(s): for dg in d_asc2lat: s=s.replace(dg, d_asc2lat[dg]) return s def all2lat(s): return asc2lat(cyr2lat(s)) def latx2cyr(s): return s.translate(t_lat2cyr) def all2cyr(s): return latx2cyr(asc2lat(s)) asc2cyr=lat2cyr=all2cyrimport redef switch(s): def sswitch(s): s=s.group() return cyr2lat(s) if 'Є'<=s[0]<='ґ' else lat2cyr(s) return re.sub('[Є-ґ]+|[^Є-ґ]+', sswitch, s) cyrXlat=latXcyr=switchcyrXasc=ascXcyr=lambda s:lat2asc(latXcyr(s))def ascx2cyr(s): return re.sub('[A-Za-z]+', lambda m: all2cyr(m.group()), s)def cyrx2asc(s): return re.sub('[Є-ґ]+', lambda m: all2asc(m.group()), s)if __name__=='__main__': import sys command=sys.argv[1] if len(sys.argv)>1 else 'cyrXlat' commands=''' cyr2lat cyr2asc lat2cyr lat2asc asc2lat asc2cyr all2cyr all2lat all2asc latx2cyr ascx2cyr cyrx2asc latXcyr cyrXlat cyrXasc ascXcyr''' if command in commands.split(): command=eval(command) for s in sys.stdin: print(command(s), end='') elif command in '-h -? -help --help help'.split(): print(''' Convert text between Ukrainian Cyrillic alphabet (cyr), Latin-33 for Ukrainian (lat), and ASCII surrogates (asc) Usage: ukrlat33 [command] Command is one of the following: %s help formats help print this help formats print alphabetical formats help cyr2lat convert from Cyrillic to Latin-33 cyrx2asc convert from Cyrillic exactly to ASCII cyrXlat convert in both directions By default, command is cyrXlat '''%commands) elif command=='formats': print(''' This program uses the following alphabets: Cyrillic: Аа Бб Вв Гг Ґґ Дд Ее Єє Жж Зз Ии Іі Її Йй Кк Лл Мм Нн Оо Пп Рр Сс Тт Уу Фф Хх Цц Чч Шш Щщ Ьь Юю Яя Latin-33: Aa Bb Vv Hh Gg Dd Ee Ëë Žž Zz Yy Ii Ïï Jj Kk Ll Mm Nn Oo Pp Rr Ss Tt Uu Ff Xx Cc Čč Šš Qß ɪı Üü Ää ASCII (Latin-26) is similar to Latin-33 but it replaces non-ASCII letters with ASCII surrogates: %s (lower and capital variants of digraphs are also used: ja for ä/я, JA for Ä/Я etc.). Note that ASCII surrogates and uppercase eszet (ẞ for Q/Щ) may be used in Latin-33 input, but won't appear in Latin-33 output. To convert from Lating-33 to Cyrillic skipping digraphs conversion, use latx2cyr instead of lat2cyr. Since asc2cyr and cyr2asc are aliases for all2cyr and all2asc, use ascx2cyr and cyrx2asc to avoid affecting non-Cyrillic non-ASCII characters. '''%', '.join((k+': '+v for (k, v) in digraphs))) else: print('Unknown command.')
В быстром ответе можно использовать BB-теги и смайлы.