1 /* Copyright (C) 2013 MORIOKA Tomohiko
2 This file is part of the CONCORD Library.
4 The CONCORD Library is free software; you can redistribute it and/or
5 modify it under the terms of the GNU Lesser General Public
6 License as published by the Free Software Foundation; either
7 version 2.1 of the License, or (at your option) any later version.
9 The CONCORD Library is distributed in the hope that it will be useful,
10 but WITHOUT ANY WARRANTY; without even the implied warranty of
11 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 Lesser General Public License for more details.
14 You should have received a copy of the GNU Lesser General Public
15 License along with the CONCORD Library; if not, write to the Free
16 Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
23 cos_read_utf8 (unsigned char *str, size_t len, size_t start, size_t* endp)
29 unsigned char c = str[i++];
64 if (counter + i <= len)
68 for (j = 0; j < counter; j++)
69 cid = (cid << 6) | (str[i++] & 0x3F);
78 cos_read_char (unsigned char *str, size_t len, size_t start, size_t* endp)
82 if ( (len >= start + 2) && (str[i++] == '?') )
84 if ( (len >= start + 3) && (str[i] == '\\') )
87 return cos_read_utf8 (str, len, i, endp);
90 return cos_read_utf8 (str, len, i, endp);