2018-02-19 17:37:50 -06:00
|
|
|
// 19 february 2018
|
|
|
|
|
2018-04-17 23:54:24 -05:00
|
|
|
#ifdef __cplusplus
|
|
|
|
extern "C" {
|
|
|
|
#endif
|
|
|
|
|
2018-02-19 17:37:50 -06:00
|
|
|
// attribute.c
|
2018-03-03 20:27:01 -06:00
|
|
|
extern uiAttribute *uiprivAttributeRetain(uiAttribute *a);
|
|
|
|
extern void uiprivAttributeRelease(uiAttribute *a);
|
2018-02-19 17:37:50 -06:00
|
|
|
extern int uiprivAttributeEqual(const uiAttribute *a, const uiAttribute *b);
|
2018-02-25 19:40:23 -06:00
|
|
|
|
|
|
|
// opentype.c
|
|
|
|
extern int uiprivOpenTypeFeaturesEqual(const uiOpenTypeFeatures *a, const uiOpenTypeFeatures *b);
|
2018-03-03 20:27:01 -06:00
|
|
|
|
|
|
|
// attrlist.c
|
|
|
|
typedef struct uiprivAttrList uiprivAttrList;
|
|
|
|
extern uiprivAttrList *uiprivNewAttrList(void);
|
|
|
|
extern void uiprivFreeAttrList(uiprivAttrList *alist);
|
|
|
|
extern void uiprivAttrListInsertAttribute(uiprivAttrList *alist, uiAttribute *val, size_t start, size_t end);
|
|
|
|
extern void uiprivAttrListInsertCharactersUnattributed(uiprivAttrList *alist, size_t start, size_t count);
|
|
|
|
extern void uiprivAttrListInsertCharactersExtendingAttributes(uiprivAttrList *alist, size_t start, size_t count);
|
2018-03-08 22:27:04 -06:00
|
|
|
extern void uiprivAttrListRemoveAttribute(uiprivAttrList *alist, uiAttributeType type, size_t start, size_t end);
|
2018-03-03 20:27:01 -06:00
|
|
|
extern void uiprivAttrListRemoveAttributes(uiprivAttrList *alist, size_t start, size_t end);
|
|
|
|
extern void uiprivAttrListRemoveCharacters(uiprivAttrList *alist, size_t start, size_t end);
|
2018-03-04 10:15:18 -06:00
|
|
|
extern void uiprivAttrListForEach(const uiprivAttrList *alist, const uiAttributedString *s, uiAttributedStringForEachAttributeFunc f, void *data);
|
2018-03-03 21:02:18 -06:00
|
|
|
|
|
|
|
// attrstr.c
|
2018-03-10 18:21:39 -06:00
|
|
|
extern const uint16_t *uiprivAttributedStringUTF16String(const uiAttributedString *s);
|
|
|
|
extern size_t uiprivAttributedStringUTF16Len(const uiAttributedString *s);
|
|
|
|
extern size_t uiprivAttributedStringUTF8ToUTF16(const uiAttributedString *s, size_t n);
|
|
|
|
extern size_t *uiprivAttributedStringCopyUTF8ToUTF16Table(const uiAttributedString *s, size_t *n);
|
|
|
|
extern size_t *uiprivAttributedStringCopyUTF16ToUTF8Table(const uiAttributedString *s, size_t *n);
|
2018-03-04 09:46:00 -06:00
|
|
|
|
|
|
|
// per-OS graphemes.c/graphemes.cpp/graphemes.m/etc.
|
2018-04-15 21:43:14 -05:00
|
|
|
typedef struct uiprivGraphemes uiprivGraphemes;
|
|
|
|
struct uiprivGraphemes {
|
2018-03-04 09:46:00 -06:00
|
|
|
size_t len;
|
|
|
|
size_t *pointsToGraphemes;
|
|
|
|
size_t *graphemesToPoints;
|
|
|
|
};
|
|
|
|
extern int uiprivGraphemesTakesUTF16(void);
|
2018-04-15 21:43:14 -05:00
|
|
|
extern uiprivGraphemes *uiprivNewGraphemes(void *s, size_t len);
|
2018-04-17 23:54:24 -05:00
|
|
|
|
|
|
|
#ifdef __cplusplus
|
|
|
|
}
|
|
|
|
#endif
|