Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Вниз

Как емулировать CONDENSED для шрифта   Найти похожие ветки 

 
Леван   (2004-08-09 12:17) [0]

Привет Мастерам!
Известно, что режим Condensed (и соответственно, Double width)
для матричного принтера меняет ширину шрифта , не изменяя висоту.
Как добиться того же результата в Виндовс ?
(стандартный font.size пропорционально меняет оба параметра фонта)


 
Леван   (2004-08-09 14:51) [1]

Похоже, это уже невозможно в принципе
или я не прав, мастера?


 
simpson ©   (2004-08-09 15:37) [2]

Возможно.
Режим Condensed (как и Draft и т.п.) - это свойство внутренних шрифтов принтера.

При печати с помощью средств Windows внутренние шрифты принтера не используются и вся информация передается принтеру в виде графики.

Если необходимо напечатать что-нибудь с использованием внутренних шрифтов принтера, в том числе и в режиме Condensed, придется выводить информацию на принтер с помощью специфического для него языка команд, таких, как ESC/POS или EPL, не используя стандартные средства Windows.

Так что, решайте сами.


 
s999   (2004-08-09 15:45) [3]


> стандартный font.size пропорционально меняет оба параметра
> фонта


Да, используя TFont этого не получится. А если работать напрямую через API, то можно. Структура LogFont имеет как lfHeight так и lfWidth.


 
Леван   (2004-08-09 16:31) [4]

to s999
Интересно!
спасибо, попробую


 
KSergey ©   (2004-08-09 16:34) [5]

Можно еще масштаб изометрический включить...
SetMapMode (Printer.Canvas.Handle, MM_...)


 
Леван   (2004-08-09 17:12) [6]

to KSergey :
не смог найти в хелпе описание setmapmode
Может, подкинете ссилочку ?!

to s999
как получить эту самую структуру уже существующег фонта?


 
KSergey ©   (2004-08-09 17:15) [7]

Плохо искал...
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/gdi/cordspac_3c6d.asp

Либо см. win32sdk.hlp


 
Леван   (2004-08-09 17:25) [8]

to KSergey
Спасибо
попробую разобраться


 
s999   (2004-08-09 17:49) [9]


> как получить эту самую структуру уже существующег фонта?


var
  F:TLogFont;
  NewFont: HFONT;
....
  with F do
  begin
    .....
    lfHeight := 10;
    lfWidth := 20;
    StrPCopy(lfFaceName, "Arial");
    .....
  end;
  NewFont := CreateFontIndirect(F);
....


 
Леван   (2004-08-10 09:31) [10]

to s999
Я извиняюсь, но есть ли возможность с поможью структури
TLogFont из существующего фонта создать динамически новый фонт с теми же характеристикаи, но меньшей ширины
из Вашего последнего постинга я это не понял
еще раз извините
Леван


 
s999   (2004-08-10 12:58) [11]


> возможность с поможью структури
> TLogFont из существующего фонта создать динамически


Что ты имеешь в виду под существующим фонтом? Существующий экземпляр TFont? Конечно можно, только на выходе будет не другой экземпляр TFont-а, а HFont. То есть, присваиваешь все что можно в TLogFont и создаешь HFont, далее с помощью функции SelectObject определяешь этот HFont некоторому Canvas.



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.08.22;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.46 MB
Время: 0.031 c
9-1083916238
Маг Гыр
2004-05-07 11:50
2004.08.22
Видеопамять


3-1091078087
SASH2
2004-07-29 09:14
2004.08.22
Вопрос по wwDBGrid?


14-1091410119
Думкин
2004-08-02 05:28
2004.08.22
С днем рождения! 2 августа


9-1084025706
V0id
2004-05-08 18:15
2004.08.22
Sprite


14-1091620366
MacroDenS
2004-08-04 15:52
2004.08.22
Аффигеть!!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский