On 11/20/2015 05:14 PM, Werner LEMBERG
wrote:
I think it would be best if your changes go into the `bohoomil'
repository! Note that I can't accept the additional Infinality
patches in its current form – using environment variables is a bad
idea for such a low-level library as FreeType.
The right way would be to add `properties'
(cf. `FT_Property_{Set,Get}) that act on the various FreeType modules.
Erik promised to work on that, but he never did... Maybe bohoomil is
interested?
Indeed, he even opened a dedicated website (http://bohoomil.com) but
I can't find an e-mail address to include him in this discussion...
I can't speak of him and his interest but I can make these patches
public to anyone with a desire for them.
Regarding the "right way", I agree that environment variables are to
be avoided but maybe not completely i.e. allowing just one to select
from the various built-in sets of settings and/or pointing to a user
specific custom settings file. I'm not familiar with the
FT_Property_* API but these settings (in the struct below) are quite
many, lots of work to pass them through function calls...
/*
Infinality settings
*/
typedef struct {
int autohint_horizontal_stem_darken_strength;
int autohint_snap_stem_height;
int autohint_increase_glyph_heights;
int autohint_vertical_stem_darken_strength;
int bold_embolden_x_value;
int bold_embolden_y_value;
int brightness;
int chromeos_style_sharpening_strength;
int contrast;
float filter_params[6]; /* 1st one used as
flag*/
int fringe_filter_strength;
float gamma_correction[2];
int global_embolden_x_value;
int global_embolden_y_value;
int grayscale_filter_strength;
int stem_alignment_strength;
int stem_fitting_strength;
int stem_snapping_sliding_scale;
int use_known_settings_on_selected_fonts;
int use_various_tweaks;
int windows_style_sharpening_strength;
} ftinf_t;
/M
|