Я обновляю простое приложение X, чтобы использовать Xft для получения плавных шрифтов. Приложение отображает сообщение фиксированной длины, таким образом, размер окна устанавливается в коде 640 x 120 и рисуется с использованием XCreateSimpleWindow
:
int win_width = 640, win_height = 120;
if (width >= win_width) {
x += (width - win_width) / 2;
} else {
x -= (win_width - width) / 2;
}
if (height >= win_height) {
y += (height - win_height) / 2;
} else {
y -= (win_height - height) / 2;
}
printf("Placing at (%d, %d) size (%d, %d)\n", x, y, win_width, win_height);
Window win = XCreateSimpleWindow(dpy, RootWindow(dpy, screen),
x, y, win_width, win_height, 1,
fg.pixel, bg.pixel);
При значении по умолчанию Xft.dpi: 96
размер окна подходит и строка отображается правильно. Однако изменение на Xft.dpi: 192
изменяет размер шрифта, но не размер окна. Как принять этот параметр во внимание при рисовании окна?