aboutsummaryrefslogtreecommitdiff
path: root/nx-X11/lib/Xft1/xftstr.c
diff options
context:
space:
mode:
Diffstat (limited to 'nx-X11/lib/Xft1/xftstr.c')
-rw-r--r--nx-X11/lib/Xft1/xftstr.c259
1 files changed, 0 insertions, 259 deletions
diff --git a/nx-X11/lib/Xft1/xftstr.c b/nx-X11/lib/Xft1/xftstr.c
deleted file mode 100644
index af6013764..000000000
--- a/nx-X11/lib/Xft1/xftstr.c
+++ /dev/null
@@ -1,259 +0,0 @@
-/*
- * $XFree86: xc/lib/Xft/xftstr.c,v 1.6 2001/04/01 14:00:01 tsi Exp $
- *
- * Copyright © 2000 Keith Packard, member of The XFree86 Project, Inc.
- *
- * Permission to use, copy, modify, distribute, and sell this software and its
- * documentation for any purpose is hereby granted without fee, provided that
- * the above copyright notice appear in all copies and that both that
- * copyright notice and this permission notice appear in supporting
- * documentation, and that the name of Keith Packard not be used in
- * advertising or publicity pertaining to distribution of the software without
- * specific, written prior permission. Keith Packard makes no
- * representations about the suitability of this software for any purpose. It
- * is provided "as is" without express or implied warranty.
- *
- * KEITH PACKARD DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
- * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
- * EVENT SHALL KEITH PACKARD BE LIABLE FOR ANY SPECIAL, INDIRECT OR
- * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
- * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
- * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- * PERFORMANCE OF THIS SOFTWARE.
- */
-
-#include <stdlib.h>
-#include <ctype.h>
-#include <string.h>
-#include "xftint.h"
-
-char *
-_XftSaveString (const char *s)
-{
- char *r;
-
- if (!s)
- return 0;
- r = (char *) malloc (strlen (s) + 1);
- if (!r)
- return 0;
- strcpy (r, s);
- return r;
-}
-
-const char *
-_XftGetInt(const char *ptr, int *val)
-{
- if (*ptr == '*') {
- *val = -1;
- ptr++;
- } else
- for (*val = 0; *ptr >= '0' && *ptr <= '9';)
- *val = *val * 10 + *ptr++ - '0';
- if (*ptr == '-')
- return ptr;
- return (char *) 0;
-}
-
-char *
-_XftSplitStr (const char *field, char *save)
-{
- char *s = save;
- char c;
-
- while (*field)
- {
- if (*field == '-')
- break;
- c = *field++;
- *save++ = c;
- }
- *save = 0;
- return s;
-}
-
-char *
-_XftDownStr (const char *field, char *save)
-{
- char *s = save;
- char c;
-
- while (*field)
- {
- c = *field++;
- *save++ = c;
- }
- *save = 0;
- return s;
-}
-
-const char *
-_XftSplitField (const char *field, char *save)
-{
- char c;
-
- while (*field)
- {
- if (*field == '-' || *field == '=')
- break;
- c = *field++;
- *save++ = c;
- }
- *save = 0;
- return field;
-}
-
-const char *
-_XftSplitValue (const char *field, char *save)
-{
- char c;
-
- while (*field)
- {
- if (*field == '-' || *field == ',')
- break;
- c = *field++;
- *save++ = c;
- }
- *save = 0;
- if (*field)
- field++;
- return field;
-}
-
-int
-_XftMatchSymbolic (XftSymbolic *s, int n, const char *name, int def)
-{
- while (n--)
- {
- if (!_XftStrCmpIgnoreCase (s->name, name))
- return s->value;
- s++;
- }
- return def;
-}
-
-int
-_XftStrCmpIgnoreCase (const char *s1, const char *s2)
-{
- char c1, c2;
-
- for (;;)
- {
- c1 = *s1++;
- c2 = *s2++;
- if (!c1 || !c2)
- break;
- if (isupper (c1))
- c1 = tolower (c1);
- if (isupper (c2))
- c2 = tolower (c2);
- if (c1 != c2)
- break;
- }
- return (int) c2 - (int) c1;
-}
-
-int
-XftUtf8ToUcs4 (XftChar8 *src_orig,
- XftChar32 *dst,
- int len)
-{
- XftChar8 *src = src_orig;
- XftChar8 s;
- int extra;
- XftChar32 result;
-
- if (len == 0)
- return 0;
-
- s = *src++;
- len--;
-
- if (!(s & 0x80))
- {
- result = s;
- extra = 0;
- }
- else if (!(s & 0x40))
- {
- return -1;
- }
- else if (!(s & 0x20))
- {
- result = s & 0x1f;
- extra = 1;
- }
- else if (!(s & 0x10))
- {
- result = s & 0xf;
- extra = 2;
- }
- else if (!(s & 0x08))
- {
- result = s & 0x07;
- extra = 3;
- }
- else if (!(s & 0x04))
- {
- result = s & 0x03;
- extra = 4;
- }
- else if ( ! (s & 0x02))
- {
- result = s & 0x01;
- extra = 5;
- }
- else
- {
- return -1;
- }
- if (extra > len)
- return -1;
-
- while (extra--)
- {
- result <<= 6;
- s = *src++;
-
- if ((s & 0xc0) != 0x80)
- return -1;
-
- result |= s & 0x3f;
- }
- *dst = result;
- return src - src_orig;
-}
-
-Bool
-XftUtf8Len (XftChar8 *string,
- int len,
- int *nchar,
- int *wchar)
-{
- int n;
- int clen;
- int width = 1;
- XftChar32 c;
-
- n = 0;
- while (len)
- {
- clen = XftUtf8ToUcs4 (string, &c, len);
- if (clen <= 0) /* malformed UTF8 string */
- return False;
- if (c >= 0x10000)
- width = 4;
- else if (c >= 0x100)
- {
- if (width == 1)
- width = 2;
- }
- string += clen;
- len -= clen;
- n++;
- }
- *nchar = n;
- *wchar = width;
- return True;
-}