Портал аспирантов

Портал аспирантов (http://www.aspirantura.spb.ru/forum/index.php)
-   Software (программное обеспечение) (http://www.aspirantura.spb.ru/forum/forumdisplay.php?f=107)
-   -   С кириллицы на latinitsu (http://www.aspirantura.spb.ru/forum/showthread.php?t=2999)

nauczyciel 08.05.2008 18:12

Артем, думаю, теперь эту тему можно закрывать, спорить больше не о чем :)

Артем_ 08.05.2008 18:21

Да, спор закрыт. :)

Только может сначала gav посмотрит ГОСТ и за 10 минут, используя соответсвующие правила транслитерации, напишет нам макрос для Ворда и разместит на форуме его сценарий? ;) :cool:

Feeleen 09.05.2008 02:15

Артем, спасибо за ссылку!! Проблема решена однозначно :)

Shuhrat 09.05.2008 06:27

gav

Вот только что за 10 минут написал. Делов то. Пробежать по тексту и заменить символы в соответсвии с транслитерацией. Задача элементарного программирования на VB.

:) Пожалуйста покажи как.

Shuhrat 25.05.2008 06:20

ну gav-gav где же ты спиш? Напиши нам макрос которые все хотят узнат.

gav 01.06.2008 11:59

Во-первых, упомянутый здесь ISO 9 (ГОСТ 7.79-2000) - это один из, как минимум, трех официальных стандартов в РФ.
Есть еще ГОСТ 16876-71 и СЭВ 1362-78. Каким пользоваться автору для решения его проблемы - прочтение русского текста на компьютере без кириллицы - дело малопринципиальное.
Странно, что у многих возникла проблема создания макроса в Word.
Вот один из вариантов:

Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 08.05.2008 gerasimovav
Selection.HomeKey Unit:=wdLine
Application.Keyboard (1033)
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
While ((Selection.End + 1) <> Selection.StoryLength)
Select Case Selection
Case "A"
Selection.TypeText Text:="А"
Case "Б"
Selection.TypeText Text:="B"
Case "В"
Selection.TypeText Text:="V"
Case "Г"
Selection.TypeText Text:="G"
Case "Д"
Selection.TypeText Text:="D"
Case "Е"
Selection.TypeText Text:="E"
Case "Ё"
Selection.TypeText Text:="Yo"
Case "Ж"
Selection.TypeText Text:="Zh"
Case "З"
Selection.TypeText Text:="Z"
Case "И"
Selection.TypeText Text:="I"
Case "Й"
Selection.TypeText Text:="J"
Case "К"
Selection.TypeText Text:="K"
Case "Л"
Selection.TypeText Text:="L"
Case "М"
Selection.TypeText Text:="M"
Case "Н"
Selection.TypeText Text:="N"
Case "О"
Selection.TypeText Text:="O"
Case "П"
Selection.TypeText Text:="P"
Case "Р"
Selection.TypeText Text:="R"
Case "С"
Selection.TypeText Text:="S"
Case "Т"
Selection.TypeText Text:="T"
Case "У"
Selection.TypeText Text:="U"
Case "Ф"
Selection.TypeText Text:="F"
Case "Х"
Selection.TypeText Text:="H"
Case "Ц"
Selection.TypeText Text:="C"
Case "Ч"
Selection.TypeText Text:="Ch"
Case "Ш"
Selection.TypeText Text:="Sh"
Case "Щ"
Selection.TypeText Text:="Shh"
Case "Ь"
Selection.TypeText Text:="'"
Case "Ы"
Selection.TypeText Text:="Y"
Case "Ъ"
Selection.TypeText Text:="''"
Case "Э"
Selection.TypeText Text:="E"
Case "Ю"
Selection.TypeText Text:="Yu"
Case "Я"
Selection.TypeText Text:="Ya"
Case "а"
Selection.TypeText Text:="a"
Case "б"
Selection.TypeText Text:="b"
Case "в"
Selection.TypeText Text:="v"
Case "г"
Selection.TypeText Text:="g"
Case "д"
Selection.TypeText Text:="d"
Case "е"
Selection.TypeText Text:="e"
Case "ё"
Selection.TypeText Text:="yo"
Case "ж"
Selection.TypeText Text:="zh"
Case "з"
Selection.TypeText Text:="z"
Case "и"
Selection.TypeText Text:="i"
Case "й"
Selection.TypeText Text:="j"
Case "к"
Selection.TypeText Text:="k"
Case "л"
Selection.TypeText Text:="l"
Case "м"
Selection.TypeText Text:="m"
Case "н"
Selection.TypeText Text:="n"
Case "о"
Selection.TypeText Text:="o"
Case "п"
Selection.TypeText Text:="p"
Case "р"
Selection.TypeText Text:="r"
Case "с"
Selection.TypeText Text:="s"
Case "т"
Selection.TypeText Text:="t"
Case "у"
Selection.TypeText Text:="u"
Case "ф"
Selection.TypeText Text:="f"
Case "х"
Selection.TypeText Text:="h"
Case "ц"
Selection.TypeText Text:="c"
Case "ч"
Selection.TypeText Text:="ch"
Case "ш"
Selection.TypeText Text:="sh"
Case "щ"
Selection.TypeText Text:="shh"
Case "ь"
Selection.TypeText Text:="'"
Case "ы"
Selection.TypeText Text:="y"
Case "ъ"
Selection.TypeText Text:="''"
Case "э"
Selection.TypeText Text:="e"
Case "ю"
Selection.TypeText Text:="yu"
Case "я"
Selection.TypeText Text:="ya"
Case Else
Selection.TypeText Text:=Selection

End Select
Selection.MoveRight Unit:=wdCharacter, Count:=1
Selection.MoveLeft Unit:=wdCharacter, Count:=1, Extend:=wdExtend
Wend


End Sub

Артем_ 01.06.2008 12:22

Системы транслитерации
 
СЭВ 1362-78 - стандарт давным-давно прекратил своё существование вместе со странами его утверждавшими...

ГОСТ 16876-71 - Правила транслитерации букв кирилловского алфавита буквами латинского алфавита 1971 года с изменениями 1 и 2, утвержденными в 1973 и 1980 гг. - утратил актуальность в связи с введением нового ГОСТ 7.79-2000, который соответствует новым требованиям и изменениям, а также наиболее широко распространенным международным стандартам.


P.S. Если еще более углубиться в дебри систем транслитерации, то тогда следует ознакомиться с правилами МВД РФ (приказ МВД РФ от 26.09.1996 года), принципами The United States Board on Geographic Names, системой транслитерации Library of Congress & American Library Association и British Standard Institute & Institute for Scientific Information

gav 01.06.2008 12:25

Чувствую, кто то не сможет запустить код VB в Word'e. Вот один из примеров как это можно сделать в 2003 Word'e:
1. Создаете макрос (Сервис - Макрос - Начать запись). Там можно повесить сочетание клавиш на запуск макроса (Назначить макрос - Клвишам), например, ctrl+].
2. Нажимаете "ОК" в предыдущей форме, начнется запись макроса. Появится маленькая панелька записи макроса. Нажимаете на ней кнопку с квадратиком (стоп).
3. Заходите в Сервис - Макрос - Макросы. В самом низу списка увидите свой макрос. Кликаете на нем, потом нажимаете кнопку "Изменить".
4. Появляется редактор VB с вашим пустым макросом, например, таким:
Sub Макрос1()
'
' Макрос1 Макрос
' Макрос записан 01.06.2008 gerasimovav
'
ActiveWindow.ActivePane.SmallScroll ToRight:=-3
End Sub
5. Удаляете все, что тут написано и заменяете тем текстом макроса-ранслитератора, что я написал тут выше (или своим, если мой не нравится).
6. Нажимаете "Соханить" (Кнопочка с дискеткой), и "Выйти в Word" (кнопочка с логотипом MS Word).
7. Открываете любой документ с кириллицей и нажимаете ctrl+] (или другую клавишу, на которую вы в п.1. повесили макрос).
8. Ждете несколько секунд\минут в зависимости от размера файла.

Добавлено через 5 минут 49 секунд
Артем
Цитата:

СЭВ 1362-78 - стандарт давным-давно прекратил своё существование вместе со странами его утверждавшими...
С чего вдруг?

Цитата:

ГОСТ 16876-71 - Правила транслитерации букв кирилловского алфавита буквами латинского алфавита 1971 года с изменениями 1 и 2, утвержденными в 1973 и 1980 гг. - утратил актуальность в связи с введением нового ГОСТ 7.79-2000, который соответствует новым требованиям и изменениям, а также наиболее широко распространенным международным стандартам.
Каким это "новым требованиям и изменениям"? К транслиту предъявляется множество часто противоречивых требований, например, однозначность перевода туда-сюда, минимальный набор символов второго алфавита, фонетические особенности чтения букв и т.п. Какая то система лучше удовлетворяет одним требованиям, какая то - другим. Говорить, что ISO 9 лучше, чем, например, ГОСТ 16876-71 - это примерно тоже самое, что, например, сказать, что "бензиновые автомобили лучше, чем гибридные".

Добавлено через 16 минут 25 секунд
Если внимательно прочитать ISO 9, то можно увидеть:
"Правила согласно настоящему стандарту применяют везде, где требуется обеспечить однозначное представление кирилловского текста латинскими буквами и возможность алгоритмического восстановления текста в исходной кирилловской записи, в частности при передаче документов по компьютерным сетям.

Настоящий стандарт не распространяется на правила передачи латинскими буквами звукового облика слов, записанных кириллицей."
Мне кажется, для того, чтобы передать смысл русского текста людям, не имеющим кириллицы, совершенно не требуется "однозначное представление кирилловского текста латинскими буквами" и, тем более, "возможность алгоритмического восстановления текста в исходной кирилловской записи, в частности при передаче документов по компьютерным сетям". Тут в гораздо большей степени важны именно "правила передачи латинскими буквами звукового облика слов, записанных кириллицей", на которые данный стандарт не распространяется. Мне, например, гораздо удобнее читать транслит, когда "x" - это "h", а не "икс".

Добавлено через 22 минуты 54 секунды
Если акуальность ГОСТ 16876-71 и СЭВ 1362-78 может быть поставлена под сомнение, то, например "Приказ Министерства внутренних дел Российской Федерации от 31 декабря 2003 г. N 1047 г. Москва О внесении изменений и дополнений в приказ МВД России от 26 мая 1997 г. N 310 "Об утверждении Инструкции о порядке оформления и выдачи паспортов гражданам Российской Федерации для выезда из Российской Федерации и въезда в Российскую Федерацию"
активно применяется при выдаче иностранных паспортов. Где в Приложении 7 к нему иная чем в ISO 9 таблица перевода:
http://www.rg.ru/2004/01/22/pasport-doc.html

Артем_ 01.06.2008 13:27

Фонетика передается через диакритические знаки.

В РФ кроме системы транслитерации МВД, существует еще система транслитерации принятая в ГИБДД, МИД, в библиотечном деле и картографии. Все они являются внутриведомственными стандартами.
Далее почти у каждого мобильного оператора есть своя система транслитерации, которая вообще никакого отношения к стандартам не имеет.

Цитата:

Мне, например, гораздо удобнее читать транслит, когда "x" - это "h", а не "икс".
Ни один нормальный стандарт букву "х" русскую не транслитерирует как "х" (икс) латинское. Подобной глупостью грешат только некоторые моб. операторы.

gav 01.06.2008 20:41

Артем
Цитата:

Ни один нормальный стандарт букву "х" русскую не транслитерирует как "х" (икс) латинское
Значит, ISO 9 (ГОСТ 7.79-2001) - не нормальный стандарт :)


Текущее время: 17:52. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.8
Copyright ©2000 - 2025, vBulletin Solutions, Inc. Перевод: zCarot
© 2001—2025, «Аспирантура. Портал аспирантов»