Автор Тема: Умный конвертер GB<=>BIG5<=>Unicode - возможен ли?  (Прочитано 19093 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Уважаемые форумчане!

Попадалось ли кому-нибудь такое чудо - конвертер для форматированного текста (например, rtf), который бы понимал, где китайский текст, а где не китайский. Соответственно, китайский текст он бы конвертировал из одной кодировки в другую, а остальное не трогал.

Что-то вроде этого было в Twinbridge Chinese Partner, но он постоянно виснет и конвертит все подряд, не различая языков. И еще для пользования этим конвертером нужно почему-то и сам ТВ запускать... :(
And if your head explodes with dark forebodings too...

Sat_Abhava

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #1 : 03 Января 2004 14:43:23 »
Уважаемые форумчане!

Попадалось ли кому-нибудь такое чудо - конвертер для форматированного текста (например, rtf), который бы понимал, где китайский текст, а где не китайский. Соответственно, китайский текст он бы конвертировал из одной кодировки в другую, а остальное не трогал.

Что-то вроде этого было в Twinbridge Chinese Partner, но он постоянно виснет и конвертит все подряд, не различая языков. И еще для пользования этим конвертером нужно почему-то и сам ТВ запускать... :(


Простите, я Вас не понял. Как можно конвертировать часть текста в другую кодировку, чтобы при этом другая часть этого же текста осталась в прежней кодировке? Разве такое чудо в компьютерной технологии возможно? ???

Если же Вам нужно просто конвертировать упрощенные иероглифы в традиционные и наоборот (но никак не кодировки  :)), то попробуйте воспользоваться скриптом http://satabhava.hobi.ru/tool.simtradtrans.htm , может поможет (китайский текст он переводит, а русский и английский не трогает, читайте справку к скрипту)...

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #2 : 03 Января 2004 21:20:29 »
Простите, я Вас не понял. Как можно конвертировать часть текста в другую кодировку, чтобы при этом другая часть этого же текста осталась в прежней кодировке? Разве такое чудо в компьютерной технологии возможно?

Виноват! Сейчас объясню!

Дано: файлы MS Word 95, в которых русский текст перемежается с китайским (в GB или BIG5). Китайский текст вводился, отображался и распечатывался с помощью Twinbridge Chinese Partner.

Задача: открыть эти файлы в MS Word 2000/XP так, чтобы иероглифы стали в юникоде и при этом русский текст остался русским.

Предвижу вариант "сделать руками" (copy-paste иероглифов в конвертилку), но хотелось бы все-таки на автомате, т.к. объемы немалые... :'(
And if your head explodes with dark forebodings too...

Оффлайн quaxter

  • Заслуженный
  • *****
  • Сообщений: 668
  • Карма: 8
  • Пол: Мужской
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #3 : 04 Января 2004 03:05:26 »
Хочешь быть счастливым - будь им (К. Прутков).
Вам придется написать такой конвертор самому.
Если оформите его в виде вордового макроса, он будет подвешивать винду не менее успешно, чем Twin Bridge.
Дело в том, что в ворде признак языка является одним из атрибутов форматирования - сделайте так, чтобы ваша рукописная искалка обнаруживала стык между фрагментом, "покрашенным" в русский цвет и в "китайский" цвет. Выделите отдельно и отконвертите отдельно каждый китайский фрагмент в нужный вам вариант штатными средствами ворда.
Сохраните все с параметрами Юникод UTF-8, но лучше не в DOC, а в XML.
Если у вас машина с фантастической производительностью, притом ничем кроме самой винды, офиса и пруфинг тулов не перегруженная, вы сможете справиться с задачей.
Как вариант могу посоветовать затолкать весь текст в окно онлайновой демо-конвертилки на сайте Basis Technologies (Бостон, Массачусетс) - раньше это было www.basistech.com
Только по дороге к искомому конвертору вам придется заполнить регистрационную форму, после чего будьте готовы получить несколько назойливых предложений купить их дорогущие программные продукты.
Что при этом произойдет с русским текстом - гадать не берусь. Попробуйте сами и расскажите о результате. На выходе будет текст в HTML (UTF-8).

Sat_Abhava

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #4 : 04 Января 2004 04:02:08 »
Дано: файлы MS Word 95, в которых русский текст перемежается с китайским (в GB или BIG5). Китайский текст вводился, отображался и распечатывался с помощью Twinbridge Chinese Partner.


Вот, сейчас понял. Закрученно оно все у Вас как-то... :) Но в MS Word 95 в давние времена иначе и нельзя было. К сожалению, я с Twinbridge Chinese Partner  никогда не работал, а потому понятия не имею, что он вытворяет. Давайте попробуем такой вариант:

1. открываете документ в MS Word 95;
2. копируете отрывок текста (китайского и русского) через буфер обмена в окно скрипта.
3. делаете скриншот и постите картинку на форуме, чтобы понять, какая каша из всего этого получается. :)

Другими словами, посмотреть надо. Или (если в файле нет ничего секретного), то можете сбросить мне его на мыло: satabhava[собака]hobi.ru . Может какая мысль в голову придет.  :)

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #5 : 04 Января 2004 05:57:33 »
Друзья! Спасибо за стремление помочь, но вижу, что вы пока не поняли сути проблемы... Попробую разложить по полочкам...

Наверняка многие сидели на русских или английских Вин-98. В те далекие времена не было такого чуда программистской мысли как Ворд-2000, а Ворд-97 многих не устраивал по причине явной недоделанности. Как в таких условиях набирать китайский текст? Кто-то пользовался TB ChinesePartner-ом, кто-то Chinese Star-ом. Программы этого типа действовали по одному и тому же принципу: заменяли пары символов ASCII на иероглифы согласно указанной в настройках кодировки (GB/BIG5). Единственным отличием китайского текста для них был шрифт. При этом они подменяли иероглифами и те символы, которые были отображены системными шрифтами. Помните, что творилось с менюшками в русских виндоуз с запущенным CS или ТВ CP?

Так вот, это отлично работало под 95-м Вордом, т.к. можно было в одном документе использовать и китайский, и русский. Каждый иероглиф был записан двумя символами. При незапущенных Твинбридже или ЧайнизСтаре вместо иероглифов был мусор.

Особенностью этого метода было то, что для Ворда такой китайский язык мог быть совершенно любым языком. Если помните, в русском/английском 95-м Ворде в списке языков китайский не значился ни в коем виде!

Соответственно, как предлагает уважаемый Quaxter, пытаться распознать язык средствами Ворда уже не получится. Это прошло бы в 2000/ХР-ном Ворде, но не в 95-м. То же касается и попытки конвертить с помощью он-лайн скриптов: прежде чем попасть в скрипт, текст обрабатывается броузером.

В принципе, ситуация почти безвыходная. То есть нужно конвертировать по частям. Сначала перетаскиваем в юникод китайский текст (русский превращается в жуткие иероглифы) и кладем в один документ, потом перетаскиваем русский в другой документ (китайский, остается символами псевдографики). После этих манипуляций два файла надо скрестить вместе. Как вы понимаете, скрипт должен быть слишком "умным", чтобы это сделать.

Есть еще такая идея: написать под 95-м Вордом скрипт, который бы выделял иероглифы исходя из шрифта, которым символы написаны. Правда, для этого необходимо забить в скрипт всю таблицу иероглифов и их юникодовые значения и еще умудриться как-то как-то заставить не понимающий юникода Ворд сохранить это в текстовый файл.

Вся проблема решилась бы на порядок быстрее, если бы в 95-м Ворде был конвертер для HTML, но его нет. :( Может быть, кто-нибудь когда-нибудь встречал такую штуку?
And if your head explodes with dark forebodings too...

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #6 : 04 Января 2004 07:34:04 »
Вся проблема решилась бы на порядок быстрее, если бы в 95-м Ворде был конвертер для HTML, но его нет. :( Может быть, кто-нибудь когда-нибудь встречал такую штуку?

Цитирую сам себя! ;D

Нашел такую штуку! Нарисована самим мелкософтом! Позволяет сохранять из Ворда 95 в HTML!

Кому надо, линк: http://www.querybot.com/wdia204z.exe
And if your head explodes with dark forebodings too...

Оффлайн quaxter

  • Заслуженный
  • *****
  • Сообщений: 668
  • Карма: 8
  • Пол: Мужской
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #7 : 04 Января 2004 23:26:38 »
Буду рад узнать, что у вас все в действительности конвертируется корректно.
А открывать на поздних версиях ворда эти документы не пробовали? Что там: сплошные кракозябры, ерунда в русской или в китайской частях?
Пришлите на quaxter<at>msn<dot>com на пробу один небольшой документик, не несущий в себе гостайны и охраняемых технологических секретов, попробую покрутить. Сейчас студентов экзаменую, потом пересдачи пойдут, а через неделю я буду свободен как птица. У меня как и у Сата никогда на машине никаких синисайзеров не стояло, но у меня с самим языком проблема :)

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #8 : 05 Января 2004 09:10:45 »
Буду рад узнать, что у вас все в действительности конвертируется корректно.

Спасибо! :) Конвертится нормально. Есть свои прибабахи, правда, но в остальном неплохо.


А открывать на поздних версиях ворда эти документы не пробовали? Что там: сплошные кракозябры, ерунда в русской или в китайской частях?

Пробовал, конечно... Китайская часть умирает.

Пришлите... на пробу один небольшой документик, не несущий в себе гостайны и охраняемых технологических секретов, попробую покрутить. Сейчас студентов экзаменую, потом пересдачи пойдут, а через неделю я буду свободен как птица. У меня как и у Сата никогда на машине никаких синисайзеров не стояло, но у меня с самим языком проблема :)

В общем, вижу, что здесь собрались люди серьезные, поэтому отрывать от дел неудобно, но в качестве упражнения для ума, попробуйте, когда будет время: http://lunatic.front.ru/. К сожалению, не могу дать прямую ссылку на файл - бум.ру не даст скачать. Все, что вы увидите на этой страничке, имеет отношение только к предмету обсуждения.

Если не получится, расскажу, как в итоге сделал я и с помощью каких выкрутасов. На текущий момент в моем способе есть один неприятный этап. Пока не могу сделать его более оптимальным, но что-нибудь все-таки постараюсь придумать! :D
« Последнее редактирование: 05 Января 2004 09:39:30 от Lunatic »
And if your head explodes with dark forebodings too...

rozvezev

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #9 : 05 Января 2004 09:25:09 »
Цитировать
В общем, вижу, что здесь собрались люди серьезные, поэтому отрывать от дел неудобно, но в качестве упражнения для ума, попробуйте, когда будет время: http://lunatic.boom.ru/. К сожалению, не могу дать прямую ссылку на файл - бум.ру не даст скачать. Все, что вы увидите на этой страничке, имеет отношение только к предмету обсуждения.


Resource not found :( :( :(

Оффлайн Lunatic

  • Пионер
  • **
  • Сообщений: 76
  • Карма: 0
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #10 : 05 Января 2004 09:35:18 »
Resource not found :( :( :(

Внезапно умерла закачка файлов на бум.ру... Бред какой-то :( Стартовая страница залилась и ага!

Сейчас еще где-нибудь выложу...

http://lunatic.front.ru/
« Последнее редактирование: 05 Января 2004 09:40:13 от Lunatic »
And if your head explodes with dark forebodings too...

Wang Ya

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #11 : 09 Января 2004 23:19:44 »
Цитировать
Если же Вам нужно просто конвертировать упрощенные иероглифы в традиционные и наоборот (но никак не кодировки  ), то попробуйте воспользоваться скриптом http://satabhava.hobi.ru/tool.simtradtrans.htm , может поможет (китайский текст он переводит, а русский и английский не трогает, читайте справку к скрипту)...


Пользуюсь этой штуковиной давно.. Клас!!!
Я её даже в отдельный chm запхнул (прости Сат, за воровство), чтоб с собой таскать.
Сат, друг, а кабы к ентой штуке в соседнем окошке прикрутить пиньинь... ;) Цены б ей не было. Для чайников и получайников эт просто супер будет: и трад. и симп. и пиньинь - всё в одном флаконе.  Дааа.. Раскатал губу... Тада её мона даже оформлять в виде проги и ...    ;) , но ".. для жителей бывшего СНГ.." (на территории самой эсенги и за её пределами) - бесплатно.

А, Сат? Програмерская мысля как тебе?

Оффлайн Papa HuHu

  • Модератор
  • Заслуженный
  • *****
  • Сообщений: 6029
  • Карма: 157
  • Пол: Мужской
    • Папа ХуХу
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #12 : 10 Января 2004 01:21:57 »
Сат, правда, пожалуйста, не надо дальше ее шлифовать. Отринь лишнее, и дай ее нам. Мы будем ОЧЕНЬ счастливы!

Sat_Abhava

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #13 : 10 Января 2004 03:45:25 »
Пользуюсь этой штуковиной давно.. Клас!!!
Я её даже в отдельный chm запхнул (прости Сат, за воровство), чтоб с собой таскать.
Сат, друг, а кабы к ентой штуке в соседнем окошке прикрутить пиньинь... ;) Цены б ей не было. Для чайников и получайников эт просто супер будет: и трад. и симп. и пиньинь - всё в одном флаконе.  Дааа.. Раскатал губу... Тада её мона даже оформлять в виде проги и ...    ;) , но ".. для жителей бывшего СНГ.." (на территории самой эсенги и за её пределами) - бесплатно.

А, Сат? Програмерская мысля как тебе?


Папа Хуху:
Цитировать
Сат, правда, пожалуйста, не надо дальше ее шлифовать. Отринь лишнее, и дай ее нам. Мы будем ОЧЕНЬ счастливы!


Моя "программерская мысля" пошла еще дальше, чем надежды уважаемого Wang Ya. Я к этой скриптине припаял такие фичи:

1. перевод "трад. <—> упр."
2. перевод на лету в пиньинь (ma1 —> mā)
3. перевод иерог. —> пиньинь (с подстановкой на место иерог. или рядом с ним в скопках)
4. трад. IME (пиньинь-->иерог)
5. упр. IME (пиньинь-->иерог)

И когда я все эти фичи в один скрипт запихнул, они слегка законфликтовали (по отдельности работают нормально). Вот я и "шлифовал" этот скрипт потихоньку. Папа Хуху его в развалюшном состоянии видел.  ;D

Но раз уж есть в нем такая срочная нужда, то давайте договоримся так. Я тут на следующей недельке уезжаю до конца месяца, в начале февраля вернусь в свое заветное Зимбабве и весь февраль  посвящу отладке скрипта (до той степени, что получится  :)). Если что из фич будет особо "несговорчивым", то брошу их в отдельные скрипты. Потом все это запакую в CHM и выпущу в люди (в марте). Договорились?  :)

Лицензия "как есть"... "халява"... На ваш собственный страх и риск.  ;D

Оффлайн Jin Jie

  • Заслуженный
  • *****
  • Сообщений: 743
  • Карма: 14
  • Пол: Женский
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #14 : 09 Февраля 2004 07:49:47 »
Замечательно.. a все прочитала.. но только  у меня проблема вдругом.. мне надо из юникода в Gb
это для Pagemaker ..  ну т.е. кто-то здесь точно знает и молчит.. а мне стыдно спрашивать  :-/

Оффлайн MiR

  • Модератор
  • Заслуженный
  • *****
  • Сообщений: 770
  • Карма: 10
  • Пол: Мужской
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #15 : 09 Февраля 2004 16:38:00 »
Замечательно.. a все прочитала.. но только  у меня проблема вдругом.. мне надо из юникода в Gb
это для Pagemaker ..  ну т.е. кто-то здесь точно знает и молчит.. а мне стыдно спрашивать  :-/

Еще бы не молчать! Я десять раз отговаривал идти по этому пути, т.к. дорожка скользкая... Ан, нет! Все равно решили... Что ж, хотите падать, падайте:

1. Сохранить из Ворда как текст в кодировке GB или как китайскую HTML-страницу.
2. Конвертер из любых восточных кодировок в любые восточные же, включая юникод, в NJStar Communicator 2.30.
3. Если есть Twinbridge Chinese Partner любой версии, то можно попробовать воспользоваться тамошним конвертером, который к тому же понимает RTF.

Все варианты предполагают, что китайский текст "чистый", то есть не содержит русских букв. Иначе в первом варианте русские буквы станут двубайтовыми, во втором - мусором, а в третьем - не знаю, т.к. у меня при попытке конвертировать текст, содержащий русские буквы, твинбриджевский конвертер весьма стабильно падал.
We play the game
With the bravery of being out of range...

Оффлайн Jin Jie

  • Заслуженный
  • *****
  • Сообщений: 743
  • Карма: 14
  • Пол: Женский
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #16 : 09 Февраля 2004 20:44:00 »

Еще бы не молчать! Я десять раз отговаривал идти по этому пути, т.к. дорожка скользкая... Ан, нет! Все равно решили... Что ж, хотите падать, падайте:


спасибо  :)

Оффлайн quaxter

  • Заслуженный
  • *****
  • Сообщений: 668
  • Карма: 8
  • Пол: Мужской
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #17 : 16 Февраля 2004 16:01:20 »
А еще на сайте www.mandarintools.com есть маленькая такая программка - zhcode.jar, т.е. для работы требует Java от Sun Microsystems. При этом нельзя забывать об установке апдейта многоязычной поддержки.
Берется с сайта Sun Microsystems инсталлятор виртуальной машины Java последней версии j2re-1_4_2_03-windows-i586-p.exe, добавляется инсталлятор языковых расширений j2re-1_4_2_03-windows-i586-p-iftw.exe (непременно в онлайновом режиме) - все вместе 16,6 метров, но, во-первых - абсолютно на шару, и, во-вторых - у вас куча приложений работать будет с этой самой Java.
И вот проинсталив все это, вы сможете запустить эту маленькую программулечку с www.mandarintools.com.
Там, кстати, у них есть программка для сегментации сплошного китайского текста. Тоже Java-based. Это значит, что массачусетские жлобы из Basis Technologies, продающие аналогичные проги по несколько сот тысяч долларов за единицу могут повеситься в сортире. У них эти чудеса никто купить не мог кроме всяких сервисных, справочных и торговых служб уровня гугла или амазона.
Так во, zhcode.jar у меня перелопатило все как надо, только еще ненужную операцию сделало. Догадываетесь наверное какую :)
Я  фантицзами набил чжунго ваньсуй - крутанул юникод txt в файл gb - и получил симплифайед с вопросом перед текстом...
MiR прав - скользкая это дорожка.

Sat_Abhava

  • Гость
Re: Умный конвертер GB<=>BIG5<=>Unicode - возможен
« Ответ #18 : 13 Апреля 2004 19:24:34 »
Закончил работу над первым модулем скрипта (что обещал  :)). Скачивание и обсуждение - на http://www.oriental.ru/cgi-bin/forum/YaBB.pl?
« Последнее редактирование: 13 Апреля 2004 19:25:11 от Sat_Abhava »