Модераторы: Vitalik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодовой страницей, Отображение псевдографики 
:(
    Опции темы
Coriolis
  Дата 19.9.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



Проблема следующая:
Пишу редактор для БД МСМ, которая использует русскую ASCII таблицу символов.(досовую короче)
А в SynEdit не отображается псевдографика! (╫╪┘┌█▄▌▐▀╥╙╘ и т.д.)
Выставляю FixedSys и набор OEM/DOS - всё равно не рисует эти символы.
Какой мне шрифт и набор символов выставить?
PM MAIL   Вверх
Vitalik
Дата 19.9.2005, 16:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Координатор проекта
Сообщений: 653
Регистрация: 8.11.2004
Где: Ukraine, Kharkov

Репутация: 9
Всего: 12



Можешь попробовать шрифт Terminal. В нём эти символы присутствуют и без юникода smile
Но у меня, если честно, псевдографика отображается практически на любом шрифте, достаточно только Font.Charset присвоить OEM_CHARSET smile

Кстати, а как ты проверяешь "работоспособность" псевдографики?..
PM MAIL WWW ICQ YIM   Вверх
Coriolis
Дата 19.9.2005, 18:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



С Terminal работает, но
1) Низзя печатать по русски (хотя сами символы есть)
2) он некрасивый.


Цитата(Vitalik @ 19.9.2005, 16:44)
Но у меня, если честно, псевдографика отображается практически на любом шрифте, достаточно только Font.Charset присвоить OEM_CHARSET

Отображаться-то отображаются, вот только печатать по русски становится невозможным. Все буквы разбросанны как попало. А некоторые вообще не русские. Т.е. не те символы печатаются... smile
Добавлено @ 18:36
Цитата(Vitalik @ 19.9.2005, 16:44)
Кстати, а как ты проверяешь "работоспособность" псевдографики?..


for x:=32 to 255 do SynEdit1.Text:=SynEdit1.Text+Chr(x);

PM MAIL   Вверх
Coriolis
Дата 20.9.2005, 09:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



Неужели придётся вешать свою оконную процедуру и при нажатии символьных клавиш вручную добавлять правильные символы к тексту?!? smile
Это же грустно...
PM MAIL   Вверх
Coriolis
Дата 21.9.2005, 11:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



Вот, что сделал:

Код

  TForm1 = class(TForm)
...
  private
    { Private declarations }
    codetable:array [#0..#$FF] of char;
    procedure InitCodeTable;
...

procedure TForm1.InitCodeTable; // инициализирует таблицу перекодировки
var
   x:char;
begin
     for x:=#0 to #$FF do CharToOemBuffA(@x,@(codetable[x]),1);
end;

procedure TForm1.SynEdit1KeyPress(Sender: TObject; var Key: Char);
begin
     key:=codetable[key];
end;

Всё работает. smile

Это сообщение отредактировал(а) Coriolis - 21.9.2005, 11:24
PM MAIL   Вверх
Гость_Sid
Дата 27.11.2005, 12:36 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ГРУБЕЙШАЯ ОШИБКА !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! smile
Некоторые шрифты очень-очень плох отображаются в SynEdit (например Arial и Sans Serif )!!!!!!!!!

ЧТО ДЕЛАТЬ ?!?
  Вверх
Coriolis
Дата 27.11.2005, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ищущий
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 22.8.2005

Репутация: 1
Всего: 1



Цитата
ГРУБЕЙШАЯ ОШИБКА !!!

Ужас какой!

Дык это пропорциональные шрифты! smile
Каждая буква своего размера.
SynEdit и не предназначен для таких шрифтов!
Он предназначен для шрифтов, у которых все символы одинакового размера (как в DOSе или консоле например).

Цитата
ЧТО ДЕЛАТЬ ?!?

Юзай Courier New или Lucida Console.
Или свой шрифт нарисуй smile Главное, чтобы ширина символов была одинаковой.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | SynUniHighlighter и SynEdit | Следующая тема »


 




[ Время генерации скрипта: 0.0883 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.