On-line: гостей 2. Всего: 2 [подробнее..]
АвторСообщение



Пост N: 67
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 14.06.07 17:25. Заголовок: Греческие буквы


Мне очень бы желательно, чтоб были некоторые греческие буквы, а именно: сигма малая, тау малая, дельта большая. Причём нужны они вместе с русскими и латинскими. Прежде всего нужны на кнопках, но также и в LABEL и проч. Делать их картинками не очень хорошо, т.к. строки с ними могут быть переменными и хорошо бы
их включить на общих основаниях. Если нет таких стандартных кодовых страниц (боюсь, что нет), то как в обычной 1251 самому заменить неиспользуемый символ на нужный? Тогда можно написать что-то вроде
#define SIGMA_L chr(...) и не мучаться. Кто знает?

Спасибо: 0 
Профиль
Ответов - 5 [только новые]


Администратор




Пост N: 523
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.06.07 09:39. Заголовок: Re:


Как я понимаю это надо для гуевого клиента fwh/hwgui/minigui ?

Если так, то надо при создании фонта указать греческую кодовую страницу - ее код 161

Выводимую строку делать в cp1253

Или это нужно для консоли ?



Спасибо: 0 
Профиль
Администратор




Пост N: 524
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.06.07 09:52. Заголовок: Re:


Пример для fw
Chr(193) это альфа большая
Chr(225) это альфа маленькая

конечно совмещать кириллицу и греческие буквы нельзя, приядется выводить отдельными SAY

#include "FiveWin.ch"

//----------------------------------------------------------------------------//

function Main()

local oWnd, oFont

oFont := TFont():New( "Arial", 40, 60,,,,,,,,, 161)

DEFINE WINDOW oWnd FROM 1, 1 TO 20, 50 TITLE "Testing Method Say()"

@ 1, 1 BUTTON " &Say " OF oWnd SIZE 60, 25 ;
ACTION oWnd:Say( 3, 3, "Hello "+Chr(193)+Chr(225), nRGB( 25, 40, 95 ), nRGB( 192, 192, 192 ),;
oFont )

ACTIVATE WINDOW oWnd

RELEASE FONT oFont

return


Спасибо: 0 
Профиль



Пост N: 68
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 15.06.07 11:02. Заголовок: Re:


Спасибо, Паша, за подсказку, но это не совсем то. Во-первых, у меня Харбор с MiniGui и пример в чистом виде не работает (TFont и проч.). Но главное - хотелось бы те так, а просто заменить какие-то символы другими.
Есть такая возможность? Чтобы была вообще-то одна страница, но некоторые символы были заменены на какие-то из другой (или нарисованые самостоятельно)? Это гораздо лучше с точки зрения удобства программирования, т.к. всё дышит, надписи могут меняться и в зависимости от режима, и просто для пробы.

Спасибо: 0 
Профиль
Администратор




Пост N: 525
Зарегистрирован: 23.05.05
ссылка на сообщение  Отправлено: 15.06.07 11:39. Заголовок: Re:


В минигуи я смотрю нет возможности установки кодивой страницы для шрифта
Хорошо бы ее добавить

Это в c_font.c в функции PrepareFont необходим параметр для установки CHARSET
Сейчас там вызывается DEFAULT_CHARSET
Григорий ?

Насчет корректировки кодовой страницы 1251 - это надо править системный файл c_1251.nls
Я этими вещами просто не занимался, не знаю, есть ли какие-то утилиты для этого.
Там наверное надо заменить какие-то ненужные символы на груческие в unicode
Но это порочный подход - править системные файлы. В разных ОС они разные, да и надо раздавать их клиентам. При переустановки ОС они снесутся


Спасибо: 0 
Профиль



Пост N: 69
Зарегистрирован: 15.12.06
ссылка на сообщение  Отправлено: 15.06.07 11:57. Заголовок: Re:


Жаль! В текстовом режиме с этим было проще!

Спасибо: 0 
Профиль
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 150
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет