summaryrefslogtreecommitdiff
path: root/src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx
AgeCommit message (Collapse)Author
42 hourswipmaxim nikonov
43 hourswipmaxim nikonov
2025-09-19Underline does not appear in some fonts and scales (Windows,X11-noCairo) (#1308)ManoloFLTK
2025-09-19Underline does not appear in some fonts and scales (X11-noCairo) (#1308)ManoloFLTK
2024-10-08Restore building without Cairo developer files (#1087)ManoloFLTK
2024-10-07Make Pango-handled text accept legacy CP1252-encoded textManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-06 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-06-05 Fix "Fl::get_font_name() with Pango is inconsistent"-cont'd (#732)ManoloFLTK
2023-04-14Remove duplication of Pango standard font namesManoloFLTK
And move each array of standard font names to appropriate font-related source file
2023-01-26Fixing FLUID file corruption from issue #653 (#662)Matthias Melcher
Removing all globals in file writer (#653 ) Fix some static analyser complaints Valgrind: handle width==0 in GfxDrivers on Wayland and X11 Don't use `Fl_Input_::static_value`, it accesses previous buffer that may be deleted Project file write encapsulated, removing globals Encapsulating project file reader, removing states in glbals Project i/o increased source code readability
2023-01-13Fix set_fonts() in Xlib/xft and Cairo Graphics_DriverAlbrecht Schlosser
src/drivers/Cairo/Fl_Cairo_Graphics_Driver.cxx: - fix font_name_process() out of bounds memory access - unify/align font_name_process() code (see also Xlib/xft) - fix font name string allocation src/drivers/Xlib/Fl_Xlib_Graphics_Driver_font_xft.cxx - unify/align font_name_process() code (see also Cairo_Graphics) - fix font name string allocation Todo: move common code to Fl_Graphics_Driver or another common file.
2022-09-26Replace all calls to sprintf() by calls to snprintf().ManoloFLTK
2022-08-29Make hybrid Wayland/X11 platform.ManoloFLTK
2022-08-25Remove unneeded FL_EXPORT declaration.ManoloFLTK
2022-07-26Remove redundant Fl_Xlib_Graphics_Driver::scale_bitmap_for_PostScript() ↵ManoloFLTK
under USE_XFT=1.
2022-03-21Fix for issue #416: Fl_Xlib_Graphics_Driver_font_xft.cxx has a libasan error.ManoloFLTK
2022-03-14Move initialisation of X11 and Wayland built-in font names to ↵ManoloFLTK
fl_???_platform_init.cxx
2022-01-16Rename FL/fl_string.h to FL/fl_string_functions.hAlbrecht Schlosser
This is part 1 of the final fix for a previous name clash on case insensitive file systems (fl_string.h vs. Fl_String.H).
2021-11-26 Fix for issue #254: remove hardware overlay support - cont'd.ManoloFLTK
2021-03-13Fast pango (#201)ManoloFLTK
* Cache single unicode character widths under Xft+Pango
2021-03-11Unification of scaled coordinate calculations in class ↵ManoloFLTK
Fl_Scalable_Graphics_Driver Most coordinate calculations are done with the new inline function int Fl_Scalable_Graphics_Driver::floor(int coord) that is used by both the Windows and X11 platforms.
2021-02-16Create classes Fl_XXX_Gl_Window_Driver according to driver model.ManoloFLTK
2020-08-01Remove unneeded strdup from example, fold tabsGreg Ercolano
2020-08-01Implement + deploy fl_strdup()Greg Ercolano
2020-07-06Remove $Id$ tags, update URL's, and moreAlbrecht Schlosser
- remove obsolete svn '$Id$' tags from all source files - update .fl files and generated files accordingly - replace 'http://www.fltk.org' URL's with 'https://...' - replace bug report URL 'str.php' with 'bugs.php' - remove trailing whitespace - fix other whitespace errors flagged by Git - add and/or fix missing or wrong standard headers - convert tabs to spaces in all source files The only relevant code changes are in the fluid/ folder where some .fl files and other source files were used to generate the '$Id' headers and footers.
2020-03-20Rewrite Fl_Xlib_Graphics_Driver::get_font_name() with less lines of code.ManoloFLTK
2020-03-20Fix Fl::get_font_name() under X11+Xft-PangoManoloFLTK
2020-01-09Fix X11 RTL text clipping (STR 2798) - part 2Albrecht Schlosser
Yet another fix for RTL text...
2020-01-08Improve X11 coordinate clipping for text (STR 2798)Albrecht Schlosser
Text outside the 16-bit X11 coordinate space must be clipped before calling X11 draw functions, otherwise text might appear anywhere in the window because X11 would "truncate" the coordinates instead of proper clipping (X11 handles only 16-bit coordinates).
2019-11-08X11 + pango: Sort font names ignoring case.ManoloFLTK
2019-06-06Fix in Fl_Xlib_Graphics_Driver::font_unscaled() necessary when changing ↵ManoloFLTK
drawing surfaces
2019-06-03X11+Pango: fix case when function pango_font_get_glyph_extents() failsManoloFLTK
2019-06-02X11+Pango: font names visible in the fonts and utf8 apps are usable for ↵ManoloFLTK
Fl::set_font(Fl_Font, const char*)
2019-05-30X11+Pango: call pango_font_description_from_string() less oftenManoloFLTK
Previously, each time fl_font(fnum, fsize) was called, functions pango_font_description_free() and pango_font_description_from_string() would be called. Now, pango_font_description_from_string() is called only once, the first time an Fl_Font is used.
2018-04-19Reorganise access to the value of the GUI scaling factor with public getter ↵Manolo Gouy
and protected, virtual setter member functions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12858 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-02-07STR#3450: Draw text with OpenGL using textures on all platforms.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12650 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-31Replace FL/x.H with FL/platform.H - step 2 (STR #3435).Albrecht Schlosser
This second step replaces FL/x.H with FL/platform.H in all source files. Dependencies have been adjusted as well. This commit completes the replacement of FL/x.H with FL/platform.H. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12641 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2018-01-18X11+pango: correct y position of text in line that was bad for some ↵Manolo Gouy
non-latin scripts and some pango versions. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12639 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-27Fix for STR#3397: find adequate X font to use it with GL.Manolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12404 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-25X11+xft-pango: have Fl::set_fonts() show fonts with black, light, medium, ↵Manolo Gouy
demi bold, oblique styles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12398 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-13Fl_Xlib_Graphics_Driver::set_fonts() with Pango: handle case when 'Regular' ↵Manolo Gouy
is not alone in face name. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12378 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-13Fl_Xlib_Graphics_Driver::set_fonts() with Pango: account better for variety ↵Manolo Gouy
of possible font styles. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12377 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12Fix error: invalid conversion from ‘const char*’ to ‘char*’ ↵Manolo Gouy
[-fpermissive] git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12376 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-08-12Improve Fl_Xlib_Graphics_Driver::set_fonts() when using Pango to build ↵Manolo Gouy
standard FLTK font names prefixed with I,B, or P. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12375 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-06-01Additional check in Fl_Xlib_Graphics_Driver::font_unscaled(Fl_Font, ↵Manolo Gouy
Fl_Fontsize) to recognize if current font is unchanged. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12246 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-22X11 + Pango platform: improve text drawing with angle.Manolo Gouy
Make sure that text length computed without angle is equal to text length drawn with angle. This property is essential so that rotated text appears at controlled location at both ends. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12244 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-05-17Introduce HiDPI + rescaling support for the X11 platform (+ partial support ↵Manolo Gouy
for WIN32) Corresponds to STR #3320 1) HiDPI support consists in detecting the adequate scaling factor for the screen on which FLTK maps a window, and scaling all FLTK units by this factor. FLTK tries to detect the correct value of this factor at startup (see more details below). Environment variable FLTK_SCALING_FACTOR can also be used to set this value. 2) Rescaling support consists in changing the scaling factor of all FLTK windows in reply to ctrl/+/-/0/ keystrokes. More details for the various platforms : - X11: Support is very advanced. Some details need still to be improved. Automatic detection of the correct starting value of the scaling factor works well with the gnome desktop. The present code contains no support for this on other desktops. FLTK_SCALING_FACTOR provides a workaround. -WIN32: Support is incomplete at this point, although many test applications have partial or complete HiDPI and scaling support. The current value of the system's scaling factor is correctly detected at application startup. Apps respond to changes of this value in real time. Support needs to define the FLTK_HIDPI_SUPPORT preprocessor variable at compile time. This way, standard builds produce a code with the default WIN32 HiDPI support, that is, where all graphics goes to an internal buffer that gets enlarged by the system and then mapped to the HiDPI display. To experiment with (or develop) the new HiDPI support requires a modified build procedure in which FLTK_HIDPI_SUPPORT is defined at compile time. When the support will be complete, the requirement for the definition of this preprocessor variable will be removed. The present commit contains support for a single scaling factor. Eventually, per-screen scaling factors should be implemented, as done for X11. - MacOS: this commit does not give new HiDPI for this platform. Eventually, window rescaling in reply to command/+/-/0/ is desirable. Per-screen scaling factor makes no sense on this platform because the OS itself takes care of the difference between the resolutions of traditional and retina displays. git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12239 ea41ed52-d2ee-0310-a9c1-e6b18d33e121
2017-04-12Fix for STR#3374: Crash with pango enabled when changing default fontManolo Gouy
git-svn-id: file:///fltk/svn/fltk/branches/branch-1.4@12218 ea41ed52-d2ee-0310-a9c1-e6b18d33e121