mbprint.h 907 B

1234567891011121314151617181920212223242526272829
  1. /*-------------------------------------------------------------------------
  2. *
  3. * Multibyte character printing support for frontend code
  4. *
  5. *
  6. * Portions Copyright (c) 1996-2016, PostgreSQL Global Development Group
  7. * Portions Copyright (c) 1994, Regents of the University of California
  8. *
  9. * src/include/fe_utils/mbprint.h
  10. *
  11. *-------------------------------------------------------------------------
  12. */
  13. #ifndef MBPRINT_H
  14. #define MBPRINT_H
  15. struct lineptr
  16. {
  17. unsigned char *ptr;
  18. int width;
  19. };
  20. extern unsigned char *mbvalidate(unsigned char *pwcs, int encoding);
  21. extern int pg_wcswidth(const char *pwcs, size_t len, int encoding);
  22. extern void pg_wcsformat(const unsigned char *pwcs, size_t len, int encoding,
  23. struct lineptr * lines, int count);
  24. extern void pg_wcssize(const unsigned char *pwcs, size_t len, int encoding,
  25. int *width, int *height, int *format_size);
  26. #endif /* MBPRINT_H */