При создании векторной графики для PDF я использую одну из функций «создания» для рендеринга PDF, например cairo_pdf_surface_create_for_stream
. Сигнатура этой функции:
cairo_surface_t * cairo_pdf_surface_create_for_stream (cairo_write_func_t write_func,
void *closure,
double width_in_points,
double height_in_points);
Теперь я могу установить размер поверхности в точках, но размер одной точки, по-видимому, жестко запрограммирован. в описании написано:
width_in_points: ширина поверхности, в точках (1 точка == 1 / 72.0 дюйма)
height_in_points: высота поверхности, в точках (1 точка == 1 / 72.0 дюйма)
Как видите, 1pt = 1/72 "(72 dpi). Но как мне изменить этот параметр?
Я мог бы что-то учесть в размере, используя другое разрешение, и компенсировать это таким образом, но мне это кажется худшей практикой.