Самые большие неприятности доставил шрифт DEFAULT_F0NT. Для него нельзя использовать функцию setusercharsize после выбора шрифта (settextstyie). Для того чтобы растровая буква оказалась на линии строки, ее пришлось опустить на межстрочный промежуток, равный 1 пикселу (с учетом масштабного множителя — на 10 пикселов).
Программа 8_13.с
/* Буква "А" в разных шрифтах */
#include <stdio.h>
#include <conio.h>
#include <graphics.h>
int x,y=470;
void a_in_box(int dy) {
int w,h; /* 0пределение размеров габаритного прямоугольника */
w=textwidth("А");
h=textheight("А");
printf("w=%d h=%d ",w,h);
/* 0бводка границ прямоугольника со смещением на 2 пиксела */
rectangle(x-2,y-h,x+w-2,y+2); /* Вывод буквы А */
outtextxy(x,y+dy,"A"); }
main()
{
int gd=0,gm;
initgraph(&gd,&gm,""); /* Установки для рисования черным по белому */
setpalette(l,0);
setcolor(1);
setbkcolor(15);
settextjustify(0,0);
settextstyle(2,0,l); /* SmallFont */
setusercharsize(30,1,267,1);
x=4;
a_in_box(0);
settextstyle(3,0,1); /* SansSerifFont */
setusercharsize(86,10,75,10);
x=186;
a_in_box(0);
settextstyle (1,0,1); /* TriplexFont */
setusercharsize(95,10,78,10);
x=368;
a_iri_box(0);
settextstyle(0,0,10); /* DefaultFont, общее увеличение=10 */
x=550;
a_in_box(10);
getch ();
closegraph(); }