Within a fontset, the patterns are stored as pointers in an array.
When stored as offsets, the offsets are relative to the fontset object
itself, not the base of the array of pointers.
#define FcFontSetFonts(fs) FcPointerMember(fs,fonts,FcPattern *)
#define FcFontSetFont(fs,i) (FcIsEncodedOffset((fs)->fonts) ? \
#define FcFontSetFonts(fs) FcPointerMember(fs,fonts,FcPattern *)
#define FcFontSetFont(fs,i) (FcIsEncodedOffset((fs)->fonts) ? \
- FcEncodedOffsetToPtr(FcFontSetFonts(fs), \
+ FcEncodedOffsetToPtr(fs, \
FcFontSetFonts(fs)[i], \
FcPattern) : \
fs->fonts[i])
FcFontSetFonts(fs)[i], \
FcPattern) : \
fs->fonts[i])