[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Building the igc branch on MS-Windows
From: |
Gerd Möllmann |
Subject: |
Re: Building the igc branch on MS-Windows |
Date: |
Sat, 27 Apr 2024 18:37:12 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) |
Gerd Möllmann <gerd.moellmann@gmail.com> writes:
> Eli Zaretskii <eliz@gnu.org> writes:
>
>>> From: Gerd Möllmann <gerd.moellmann@gmail.com>
>>> Cc: Eli Zaretskii <eliz@gnu.org>, emacs-devel@gnu.org
>>> Date: Sat, 27 Apr 2024 17:29:44 +0200
>>>
>>> Helmut Eller <eller.helmut@gmail.com> writes:
>>>
>>> >> But its contents are weird
>>> >
>>> > In pdumper:
>>> >
>>> > /* There are three kinds of font objects that all use PVEC_FONT,
>>> > distinguished by their size. Font specs and entities are
>>> > harmless data carriers that we can dump like other Lisp
>>> > objects. Fonts themselves are window-system-specific and
>>> > need to be recreated on each startup. */
>>> >
>>> > could this be the reason?
>>>
>>> I think I spider. Unbelievable. Whoever did that should be shot. No
>>> that's too mild. He shall use Visual C++ for one year :-).
>>>
>>> Good catch! Thanks Helmut!
>>
>> There's more, I think. font.h says this near the end of 'struct font':
>>
>> /* Font-driver for the font. */
>> struct font_driver const *driver;
>>
>> /* There are more members in this structure, but they are private
>> to the font-driver. */
>> };
>>
>> And indeed, w32font.h does this:
>>
>> /* The actual structure for a w32 font, that can be cast to struct font.
>> The Uniscribe backend extends this. */
>> struct w32font_info
>> {
>> struct font font;
>> TEXTMETRICW metrics;
>> unsigned int glyph_idx;
>> struct w32_metric_cache **cached_metrics;
>> int n_cache_blocks;
>> HFONT hfont;
>> };
>>
>> And then w32uniscribe.c does
>>
>> /* Extension of w32font_info used by Uniscribe and HarfBuzz backends. */
>> struct uniscribe_font_info
>> {
>> struct w32font_info w32_font;
>> /* This is used by the Uniscribe backend as a pointer to the script
>> cache, and by the HarfBuzz backend as a pointer to a hb_font_t
>> object. */
>> void *cache;
>> /* This is used by the HarfBuzz backend to store the font scale. */
>> double scale;
>> };
>
> And
>
> #ifdef NS_IMPL_GNUSTEP
> /* this extends font backend font */
> struct nsfont_info
> {
> struct font font;
>
> char *name; /* PostScript name, uniquely identifies on NS systems */
>
> /* The following metrics are stored as float rather than int. */
>
> float width; /* Maximum advance for the font. */
> float height;
> float underpos;
> float underwidth;
> float size;
> #ifdef __OBJC__
> NSFont *nsfont;
> #else /* ! OBJC */
> void *nsfont;
> #endif
> char bold, ital; /* convenience flags */
> char synthItal;
> XCharStruct max_bounds;
> /* We compute glyph codes and metrics on-demand in blocks of 256 indexed
> by hibyte, lobyte. */
> unsigned int **glyphs; /* map Unicode index to glyph */
> struct font_metrics **metrics;
> };
> #endif
I have randomly reverted and reapplied commits and fix_font is gone
again. Sorry for the chaos, seems I'm a bit tired.
- Re: Building the igc branch on MS-Windows, (continued)
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Eli Zaretskii, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Helmut Eller, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Eli Zaretskii, 2024/04/27
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows,
Gerd Möllmann <=
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Eli Zaretskii, 2024/04/28
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/28
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/27
- Re: Building the igc branch on MS-Windows, Helmut Eller, 2024/04/27
- Re: Building the igc branch on MS-Windows, Eli Zaretskii, 2024/04/27
- Re: Building the igc branch on MS-Windows, Helmut Eller, 2024/04/27
- Re: Building the igc branch on MS-Windows, Helmut Eller, 2024/04/26
- Re: Building the igc branch on MS-Windows, Gerd Möllmann, 2024/04/26
- Re: Building the igc branch on MS-Windows, Eli Zaretskii, 2024/04/26