mirror of https://github.com/fltk/fltk.git
FLTK - Fast Light Tool Kit - https://github.com/fltk/fltk - cross platform GUI development
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
189 lines
3.8 KiB
189 lines
3.8 KiB
/* "$Id$" |
|
* |
|
* Author: Jean-Marc Lienher ( http://oksid.ch ) |
|
* Copyright 2000-2010 by O'ksi'D. |
|
* |
|
* This library is free software; you can redistribute it and/or |
|
* modify it under the terms of the GNU Library General Public |
|
* License as published by the Free Software Foundation; either |
|
* version 2 of the License, or (at your option) any later version. |
|
* |
|
* This library is distributed in the hope that it will be useful, |
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
* Library General Public License for more details. |
|
* |
|
* You should have received a copy of the GNU Library General Public |
|
* License along with this library; if not, write to the Free Software |
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 |
|
* USA. |
|
* |
|
* Please report all bugs and problems on the following page: |
|
* |
|
* http://www.fltk.org/str.php |
|
*/ |
|
|
|
#ifndef _Xutf8_h |
|
#define _Xutf8_h |
|
|
|
# ifdef __cplusplus |
|
extern "C" { |
|
# endif |
|
|
|
#include <X11/X.h> |
|
#include <X11/Xlib.h> |
|
#include <X11/Xlocale.h> |
|
#include <X11/Xutil.h> |
|
|
|
typedef struct { |
|
int nb_font; |
|
char **font_name_list; |
|
int *encodings; |
|
XFontStruct **fonts; |
|
Font fid; |
|
int ascent; |
|
int descent; |
|
int *ranges; |
|
} XUtf8FontStruct; |
|
|
|
XUtf8FontStruct * |
|
XCreateUtf8FontStruct ( |
|
Display *dpy, |
|
const char *base_font_name_list); |
|
|
|
void |
|
XUtf8DrawString( |
|
Display *display, |
|
Drawable d, |
|
XUtf8FontStruct *font_set, |
|
GC gc, |
|
int x, |
|
int y, |
|
const char *string, |
|
int num_bytes); |
|
|
|
void |
|
XUtf8_measure_extents( |
|
Display *display, |
|
Drawable d, |
|
XUtf8FontStruct *font_set, |
|
GC gc, |
|
int *xx, |
|
int *yy, |
|
int *ww, |
|
int *hh, |
|
const char *string, |
|
int num_bytes); |
|
|
|
void |
|
XUtf8DrawRtlString( |
|
Display *display, |
|
Drawable d, |
|
XUtf8FontStruct *font_set, |
|
GC gc, |
|
int x, |
|
int y, |
|
const char *string, |
|
int num_bytes); |
|
|
|
void |
|
XUtf8DrawImageString( |
|
Display *display, |
|
Drawable d, |
|
XUtf8FontStruct *font_set, |
|
GC gc, |
|
int x, |
|
int y, |
|
const char *string, |
|
int num_bytes); |
|
|
|
int |
|
XUtf8TextWidth( |
|
XUtf8FontStruct *font_set, |
|
const char *string, |
|
int num_bytes); |
|
int |
|
XUtf8UcsWidth( |
|
XUtf8FontStruct *font_set, |
|
unsigned int ucs); |
|
|
|
int |
|
XGetUtf8FontAndGlyph( |
|
XUtf8FontStruct *font_set, |
|
unsigned int ucs, |
|
XFontStruct **fnt, |
|
unsigned short *id); |
|
|
|
void |
|
XFreeUtf8FontStruct( |
|
Display *dpy, |
|
XUtf8FontStruct *font_set); |
|
|
|
|
|
int |
|
XConvertUtf8ToUcs( |
|
const unsigned char *buf, |
|
int len, |
|
unsigned int *ucs); |
|
|
|
int |
|
XConvertUcsToUtf8( |
|
unsigned int ucs, |
|
char *buf); |
|
|
|
int |
|
XUtf8CharByteLen( |
|
const unsigned char *buf, |
|
int len); |
|
|
|
int |
|
XCountUtf8Char( |
|
const unsigned char *buf, |
|
int len); |
|
|
|
int |
|
XFastConvertUtf8ToUcs( |
|
const unsigned char *buf, |
|
int len, |
|
unsigned int *ucs); |
|
|
|
long |
|
XKeysymToUcs( |
|
KeySym keysym); |
|
|
|
int |
|
XUtf8LookupString( |
|
XIC ic, |
|
XKeyPressedEvent* event, |
|
char* buffer_return, |
|
int bytes_buffer, |
|
KeySym* keysym, |
|
Status* status_return); |
|
|
|
unsigned short |
|
XUtf8IsNonSpacing( |
|
unsigned int ucs); |
|
|
|
unsigned short |
|
XUtf8IsRightToLeft( |
|
unsigned int ucs); |
|
|
|
|
|
int |
|
XUtf8Tolower( |
|
int ucs); |
|
|
|
int |
|
XUtf8Toupper( |
|
int ucs); |
|
|
|
|
|
# ifdef __cplusplus |
|
} |
|
# endif |
|
|
|
#endif |
|
|
|
/* |
|
* End of "$Id$". |
|
*/
|
|
|