#include <windows.h>
#include <stdio.h>
#include <conio.h>

// Прототип функции
void Print(int, char *);

// ==============================================
// Функция main
// ==============================================

int main(void)
{
  HDC hdc;
  TEXTMETRIC tm; // структура для записи метрик
		 // шрифта

  printf("Нажмите любую клавишу...");

  // Ожидаем ввода с клавиатуры любого символа
  getch();

  printf("\nПараметры шрифта:\n"
	   "-----------------\n");

  // Создаем контекст отображения,
  // необходимый для определения метрик шрифта
  hdc = CreateDC("DISPLAY", NULL, NULL, NULL);

  // Заполняем структуру информацией
  // о метрике шрифта, выбранного в
  // контекст отображения
  GetTextMetrics(hdc, &tm);

  // Выводим параметры шрифта
  Print(tm.tmHeight,          "tmHeight");
  Print(tm.tmAscent,          "tmAscent");
  Print(tm.tmDescent,         "tmDescent");
  Print(tm.tmInternalLeading, "tmInternalLeading");
  Print(tm.tmExternalLeading, "tmExternalLeading");
  Print(tm.tmAveCharWidth,    "tmAveCharWidth");
  Print(tm.tmMaxCharWidth,    "tmMaxCharWidth");
  Print(tm.tmWeight,          "tmWeight");
  Print(tm.tmItalic,          "tmItalic");
  Print(tm.tmUnderlined,      "tmUnderlined");
  Print(tm.tmStruckOut,       "tmStruckOut");
  Print(tm.tmFirstChar,       "tmFirstChar");
  Print(tm.tmLastChar,        "tmLastChar");
  Print(tm.tmDefaultChar,     "tmDefaultChar");
  Print(tm.tmBreakChar,       "tmBreakChar");
  Print(tm.tmPitchAndFamily,  "tmPitchAndFamily");
  Print(tm.tmCharSet,         "tmCharSet");
  Print(tm.tmOverhang,        "tmOverhang");
  Print(tm.tmDigitizedAspectX,"tmDigitizedAspectX");
  Print(tm.tmDigitizedAspectY,"tmDigitizedAspectY");

  // Уничтожаем созданный нами контекст
  DeleteDC(hdc);

  // Выводим сообщение о завершении работы программы
  MessageBox(NULL,"Работа программы закончена, "
     "для просмотра результатов нажмите кнопку OK",
     "Демонстрация EASYWIN", MB_OK | MB_ICONINFORMATION);

  return 0;
}

// ==========================================
// Функция для вывода параметров шрифта
// в окно
// ==========================================

void Print(int tmValue, char *str)
{
  printf("%-20s\t= %d\n", str, tmValue);
}
