OberonCore

Библиотека  Wiki  Форум  BlackBox  Компоненты  Проекты
Текущее время: Среда, 19 Декабрь, 2018 12:20

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Суббота, 29 Декабрь, 2007 13:46 
Администратор

Зарегистрирован: Вторник, 15 Ноябрь, 2005 01:14
Сообщения: 4172
Откуда: Россия, Орёл
Info21 писал(а):
Политика партии -- принцип Калашникова.


Главное, тут не нужно путать генеральную линию партии (АК) с политикой партии...

:mrgreen:


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Суббота, 29 Декабрь, 2007 13:55 

Зарегистрирован: Воскресенье, 28 Май, 2006 22:12
Сообщения: 1338
Борис Рюмшин писал(а):
Info21 писал(а):
Политика партии -- принцип Калашникова.

Главное, тут не нужно путать генеральную линию партии (АК) с политикой партии...
:mrgreen:

+100 :о) Занести в мАксимы!


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 31 Декабрь, 2007 22:35 

Зарегистрирован: Вторник, 29 Ноябрь, 2005 21:41
Сообщения: 993
Илья Ермаков писал(а):
Это хорошо. Только надо таки решить:
а) будем терпеть Latin-1 в объектных файлах
б) будем капать на мозги ОМ (я уже пробовал летом, они делали вид, что не понимают сути проблемы :-) )
в) будем итить своим путём.
б) не хорошо, а в остальном почему бы и нет.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Среда, 16 Январь, 2008 08:21 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Trurl писал(а):
Тип Name переопределяем как ARRAY nameLen OF CHAR. Это благотворно повлияет на GetTypeName, GetObjName, GetRefProc, GetRefVar.

Проблема в том, что дескрипторы модуля и типов напрямую отображаются из ocf в память. И сия замена разом поменяет формат кодового файла. Я попытался грузить файлы с преобразованиями SHORTCHAR -> CHAR, но завис на fixup'ах :(


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Среда, 16 Январь, 2008 09:15 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Иван Горячев писал(а):
Проблема в том, что дескрипторы модуля и типов напрямую отображаются из ocf в память. И сия замена разом поменяет формат кодового файла.


А формат кодового файла менять не надо.
Код:
PROCEDURE GetObjName* (mod: Module; obj: Object; OUT name: Name);
   VAR p: StrPtr;
BEGIN
   p := S.VAL(StrPtr, S.ADR(mod.names[obj.id DIV 256]));
   WideStr(p$,name)
END GetObjName;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Четверг, 17 Январь, 2008 09:36 

Зарегистрирован: Суббота, 26 Ноябрь, 2005 10:37
Сообщения: 875
Откуда: Россия, Владивосток
Т.е. в кодовом файле хранить имена в SHORTCHARах в кодировке типа utf-8? На это в Kernel есть процедуры GetRefProc и GetRefVar. Часть символьной информации отображается прямо в память, но не выражается в системе ни в каких структурах - упомянутые процедуры елозят по памяти в поисках данных, в том числе и имён. И им придётся каждый раз преобразования кодировки делать. Невелик труд, конечно, тут вопрос в "правильности" скорее - отображать модуль напрямую в память или грузить его по частям, с заполнением всяких структур?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Четверг, 17 Январь, 2008 17:45 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Да и пусть себе елозят.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Пятница, 18 Январь, 2008 10:25 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Ещё некоторые атавизмы остались в StdLinks, StdFolds и т.д.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Вторник, 13 Декабрь, 2011 21:37 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7933
Откуда: Троицк, Москва
Стал очевиден интерес к локализованным версиям ББ для школьников от 11 лет -- кроме русского и сугубо демонстрационного кабардинского (кстати, на новой версии школьной сборки работает влёт), есть еще телодвижения для двух крупных языков, не считая самозародившегося зародыша словарика для украинского.

Это задает совсем другой контекст для задачи юникодизации идентификаторов в ББ.
Как-то уже есть ощущение Неизбежности. Независимо от позиции Оминк.

У нас тут главный Trurl ведь?
Как бы прояснить состояние на данный момент?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 05 Март, 2012 16:50 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Кажется, есть совсем юникодный ББ. Пока только русский.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Вторник, 06 Март, 2012 20:58 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Код:
MODULE ЭтоПроба;

   IMPORT Log, Dialog;
   CONST
      α = 0;
      ω = 42;
      
   VAR Куку*: ARRAY ω OF CHAR;
     π*: REAL;
   
   PROCEDURE Раз*;
   BEGIN
      Log.String(Куку);Log.Ln;
      Log.Real(π);Log.Ln;
   END Раз;

   PROCEDURE Два*;
   BEGIN
      Куку := "Ха-Ха!";
      Dialog.UpdateString(Куку);
   END Два;

   PROCEDURE НапэўнаМожнаІТак*;
   BEGIN
      Куку := "Cапраўды!";
      Log.String(Куку);Log.Ln;
   END НапэўнаМожнаІТак;
   
   PROCEDURE УкраїнськуТежРозуміємо*;
   BEGIN
      Log.String("Це так!");Log.Ln;
   END УкраїнськуТежРозуміємо;
   
   PROCEDURE ĈiujLingvojTaŭgas*;
   BEGIN
      Log.String("Ĝoju!");Log.Ln;
   END ĈiujLingvojTaŭgas;

   PROCEDURE ΚατιΕλληνικο*;
   BEGIN
      Log.String("Γεια σας!");Log.Ln;
   END ΚατιΕλληνικο;

BEGIN
   π := 3.14;
   Куку := "Куку!";
END ЭтоПроба.

Вот примерно так.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Вторник, 06 Март, 2012 21:05 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Надо ещё с несовместимостями разобраться.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Среда, 07 Март, 2012 21:38 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Вот
Вложение:
bb16uni.zip [389.41 КБ]
Скачиваний: 159

Взять BlackBox 1.6; накатить на него это; открыть Build-Tool, скомпилировать, слинковать.
Или, по вкусу, использовать папку как целевую, далее по плану.

Отличия:
  • StdFolds,StdLinks,StdStamps,OleClient,SqlControls теперь умеют сохранять свои свойства в уникоде. Пришлось изменить версии. Но, если строки все же помещаются в Latin-1, то сохраняются по-старому, для совместимости.
  • Kernel все имена отдает/принимает как ARRAY OF CHAR. Соответственно, изменены модули, которые его используют.
  • В объектных файлах имена предполагаются в UTF-8 (точнее CESU-8), так что возможны недоразумения с модулями, скомпилированными в стандартном ББ и содержащими символы из верней половины Latin-1.
  • Точно так же Stores сохраняет имена типов. Возможны те же проблемы.
  • Процедуры, которые распознают имена изменены так, что принимают не только Latin-1.
  • Компилятор допускает те же символы в идентификаторах.
Набор символов сверх Latin-1: латинские с диакритикой, кирилица, греческий.

:( Упаковал с неправильным StdCmds
Вложение:
Комментарий к файлу: StdCmds
Cmds.odc [31.88 КБ]
Скачиваний: 160


Последний раз редактировалось Trurl Пятница, 09 Март, 2012 17:01, всего редактировалось 2 раз(а).

Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Среда, 07 Март, 2012 23:05 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7933
Откуда: Троицк, Москва
Спасибо, скачал.

Очередная школьная версия на 1.5, она практически готова.

И теперь потихоньку-полегоньку будем экспериментировать с этой.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Пятница, 09 Март, 2012 19:19 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Вот еще перекодировал из 1.5. Поскольку National (пока?) нет добавил i21sysNational.


Вложения:
Комментарий к файлу: переводы документации из 1.5
bb16docu-ru.7z [635.78 КБ]
Скачиваний: 156
ADru.7z [65.55 КБ]
Скачиваний: 151
i21прим.7z [44.66 КБ]
Скачиваний: 159
i21диал.7z [14.69 КБ]
Скачиваний: 155
i21sys.7z [185.17 КБ]
Скачиваний: 157
i21edu.7z [268.59 КБ]
Скачиваний: 152
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 12 Март, 2012 07:31 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Оказывается перекодированная документация уже есть.

Я вот думаю: хранить имена в UTF-8 конечно напрашивается, но получается некоторая несовместимость. Может, добавлять в начало какой-нибудь символ?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 12 Март, 2012 09:20 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7933
Откуда: Троицк, Москва
Trurl писал(а):
Оказывается перекодированная документация уже есть.
Вот зря Вы торопитесь.

Само перекодирование не проблема.
Важно четко знать, ЧТО перекодировать.

Trurl писал(а):
Я вот думаю: хранить имена в UTF-8 конечно напрашивается, но получается некоторая несовместимость. Может, добавлять в начало какой-нибудь символ?
"некоторая"?
Как в "некоторая несвежесть"? :)

Можно пример?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 12 Март, 2012 11:16 

Зарегистрирован: Понедельник, 28 Ноябрь, 2005 10:28
Сообщения: 1098
Info21 писал(а):
Само перекодирование не проблема.

Может быть и проблемой. Ссылки на русские имена файлов, напрмер. А что делать с формами, я даже не знаю.

Info21 писал(а):
"некоторая"?
Как в "некоторая несвежесть"? :)

Да, что-то в этом роде. :)

Например, некий немец пишет
Код:
VAR subsidiär*:INTEGER;
PROCEDURE Manöver*;

и компилирует это в стандартном ББ.
Теперь в "уникодизированном" ББ получим китайские иероглифы: Man嵥r;subsidi㰀.
И наоборот, если скомпилировать это в "уникодизированном", то в стандартном получим
Код:
VAR subsidiär: INTEGER;
PROCEDURE Manöver;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 12 Март, 2012 11:49 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7933
Откуда: Троицк, Москва
Trurl писал(а):
Info21 писал(а):
Само перекодирование не проблема.

Может быть и проблемой. Ссылки на русские имена файлов, напрмер.
Спасибо, теперь понял.

Trurl писал(а):
А что делать с формами, я даже не знаю.
У Цинна была где-то тулза как раз про программную обработку форм -- переименования и т.п.

Но тут уникод подмешивается.
Пож., приведите на этот счёт тоже явный пример.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Toward Ultimate Unicode
СообщениеДобавлено: Понедельник, 12 Март, 2012 12:14 
Аватара пользователя

Зарегистрирован: Пятница, 25 Ноябрь, 2005 12:02
Сообщения: 7933
Откуда: Троицк, Москва
Хочу зафиксировать всё явно, для экономии умственной энергии в недалёком будущем.

Trurl писал(а):
Например, некий немец пишет
Код:
VAR subsidiär*:INTEGER;
PROCEDURE Manöver*;

и компилирует это в стандартном ББ.
Т.е. тут все буковки SHORTCHAR, но две -- из верхней АСКИ.

Trurl писал(а):
Теперь в "уникодизированном" ББ получим китайские иероглифы: Man嵥r;subsidi㰀.
Т.е. у-ББ считает литерки из верхней АСКИ за шифровку уникодных литер, пока в какой-то момент не вырулит опять на чистый нижний АСКИ.

Trurl писал(а):
И наоборот, если скомпилировать это в "уникодизированном",
То есть сначала конвертируем исходник в уникод, чтобы две буковки перешли из верхней АСКИ куда-то в уникод.

Trurl писал(а):
то в стандартном получим
когда попытаемся из стандартного изучить бинарники уникодного, например, пытаясь посмотреть интерфейс посредством Ctrl+D
Trurl писал(а):
Код:
VAR subsidiär: INTEGER;
PROCEDURE Manöver;
то есть каждая высокоуникодная литерка превратится в пару АСКИшных.

Понятно.
Понятно, что спешить тут не показано.
-------------
И какую литерку предлагается вставлять перед строкой УТФ-8?
Чтобы её видел стандартный ББ?
Разве это возможно?

Тут скрытое предположение:
что коллаборация стандартных бинарников и уникодных должна быть прозрачной, невидимой.
Можно подумать и про вариант, когда используется по спец. тулзе и в стандартном ББ, и в у-ББ.

Тогда для использования стандартного бинарника в у-ББ нужно добавить некий интерфейсный модуль (как делается для dll).

Пусть у-ББ маркирует свои идентификаторы спец.литерой (которая запрещена для идентификаторов в стандартном ББ), а две тулзы как-то это понимают.

No?


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 69 ]  На страницу Пред.  1, 2, 3, 4  След.

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Вся информация, размещаемая участниками на конференции (тексты сообщений, вложения и пр.) © 2005-2018, участники конференции «OberonCore», если специально не оговорено иное.
Администрация не несет ответственности за мнения, стиль и достоверность высказываний участников, равно как и за безопасность материалов, предоставляемых участниками во вложениях.
Без разрешения участников и ссылки на конференцию «OberonCore» любое воспроизведение и/или копирование высказываний полностью и/или по частям запрещено.
Powered by phpBB® Forum Software © phpBB Group
Русская поддержка phpBB