Chrome Release Bot (LUCI) 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
..
bin 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
include 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
runestr 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
runetype 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
share 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
test 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
utf 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
.gitattributes 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
.travis.yml 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
LICENSE 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
Makefile 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад
README.md 4762b62e7d Publish DEPS for 106.0.5249.13 1 год назад

README.md

libutf

Build Status

This is a C89 UTF-8 library, with an API compatible with that of Plan 9’s libutf, but with a number of improvements:

  • Support for runes beyond the Basic Multilingual Plane.
  • utflen and utfnlen cannot overflow on 32- or 64-bit machines.
  • chartorune treats all invalid codepoints as though Runeerror.
  • fullrune, utfecpy, and utfnlen do not overestimate the length of malformed runes.
  • An extra function, charntorune(p,s,n), equivalent to fullrune(s,n) ? chartorune(p,s) : 0.
  • Runeerror may be set to an alternative replacement value, such as -1, to be used instead of U+FFFD.

Differences to be aware of:

  • UTFmax is 6, though runetochar will never write more than 4 bytes. Plan 9’s UTFmax is 3.
  • chartorune may consume multiple bytes for each illegal rune. Plan 9 always consumes 1.
  • runelen and runetochar return 0 if the rune is too large to print. Plan 9 erroneously returns UTFmax.