Blame modules/input/thai-charprop.h

Packit 98cdb6
/* Pango
Packit 98cdb6
 * thai-charprop.h:
Packit 98cdb6
 *
Packit 98cdb6
 * Copyright (C) 1999 Red Hat Software
Packit 98cdb6
 * Author: Owen Taylor <otaylor@redhat.com>
Packit 98cdb6
 *
Packit 98cdb6
 * Software and Language Engineering Laboratory, NECTEC
Packit 98cdb6
 * Author: Theppitak Karoonboonyanan <thep@links.nectec.or.th>
Packit 98cdb6
 *
Packit 98cdb6
 * Copyright (c) 1996-2000 by Sun Microsystems, Inc.
Packit 98cdb6
 * Author: Chookij Vanatham <Chookij.Vanatham@Eng.Sun.COM>
Packit 98cdb6
 *
Packit 98cdb6
 * This library is free software; you can redistribute it and/or
Packit 98cdb6
 * modify it under the terms of the GNU Library General Public
Packit 98cdb6
 * License as published by the Free Software Foundation; either
Packit 98cdb6
 * version 2 of the License, or (at your option) any later version.
Packit 98cdb6
 *
Packit 98cdb6
 * This library is distributed in the hope that it will be useful,
Packit 98cdb6
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
Packit 98cdb6
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.	 See the GNU
Packit 98cdb6
 * Library General Public License for more details.
Packit 98cdb6
 *
Packit 98cdb6
 * You should have received a copy of the GNU Library General Public
Packit 98cdb6
 * License along with this library; if not, write to the
Packit 98cdb6
 * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
Packit 98cdb6
 * Boston, MA 02111-1307, USA.
Packit 98cdb6
 */
Packit 98cdb6
Packit 98cdb6
#ifndef __THAI_CHARPROP_H__
Packit 98cdb6
#define __THAI_CHARPROP_H__
Packit 98cdb6
Packit 98cdb6
#include <glib.h>
Packit 98cdb6
Packit 98cdb6
#define isthai(wc)      (0x0E00 <= (wc) && (wc) < 0x0E60)
Packit 98cdb6
#define islao(wc)       (0x0E80 <= (wc) && (wc) < 0x0EE0)
Packit 98cdb6
/* ucs2tis()
Packit 98cdb6
 * Lao:  [0x0E80..0x0EDF] -> [0x20..0x7F]
Packit 98cdb6
 * Thai: [0x0E00..0x0E5F] -> [0xA0..0xFF]
Packit 98cdb6
 */
Packit 98cdb6
#define ucs2tis(wc)     (((wc) - 0x0E00 + 0x20)^0x80)
Packit 98cdb6
Packit 98cdb6
/* Define TACTIS character classes */
Packit 98cdb6
#define CTRL		0
Packit 98cdb6
#define NON		1
Packit 98cdb6
#define CONS		2
Packit 98cdb6
#define LV		3
Packit 98cdb6
#define FV1		4
Packit 98cdb6
#define FV2		5
Packit 98cdb6
#define FV3		6
Packit 98cdb6
#define AM		7
Packit 98cdb6
#define BV1		8
Packit 98cdb6
#define BV2		9
Packit 98cdb6
#define BD		10
Packit 98cdb6
#define TONE		11
Packit 98cdb6
#define AD1		12
Packit 98cdb6
#define AD2		13
Packit 98cdb6
#define AD3		14
Packit 98cdb6
#define AD4		15
Packit 98cdb6
#define AV1		16
Packit 98cdb6
#define AV2		17
Packit 98cdb6
#define AV3		18
Packit 98cdb6
#define BCON		19
Packit 98cdb6
Packit 98cdb6
#define _ND		0
Packit 98cdb6
#define _NC		1
Packit 98cdb6
#define _UC		(1<<1)
Packit 98cdb6
#define _BC		(1<<2)
Packit 98cdb6
#define _SC		(1<<3)
Packit 98cdb6
#define _AV		(1<<4)
Packit 98cdb6
#define _BV		(1<<5)
Packit 98cdb6
#define _TN		(1<<6)
Packit 98cdb6
#define _AD		(1<<7)
Packit 98cdb6
#define _BD		(1<<8)
Packit 98cdb6
#define _AM		(1<<9)
Packit 98cdb6
Packit 98cdb6
#define NoTailCons	_NC
Packit 98cdb6
#define UpTailCons	_UC
Packit 98cdb6
#define BotTailCons	_BC
Packit 98cdb6
#define SpltTailCons	_SC
Packit 98cdb6
#define Cons		(NoTailCons|UpTailCons|BotTailCons|SpltTailCons)
Packit 98cdb6
#define AboveVowel	_AV
Packit 98cdb6
#define BelowVowel	_BV
Packit 98cdb6
#define Tone		_TN
Packit 98cdb6
#define AboveDiac	_AD
Packit 98cdb6
#define BelowDiac	_BD
Packit 98cdb6
#define SaraAm		_AM
Packit 98cdb6
Packit 98cdb6
#define is_char_type(wc, mask)	(thai_char_type[ucs2tis ((wc))] & (mask))
Packit 98cdb6
#define TAC_char_class(wc) \
Packit 98cdb6
	(isthai(wc)||islao(wc) ? thai_TAC_char_class[ucs2tis (wc)] : NON)
Packit 98cdb6
#define TAC_compose_input(wc1,wc2) \
Packit 98cdb6
	thai_TAC_compose_input[TAC_char_class(wc1)][TAC_char_class(wc2)]
Packit 98cdb6
Packit 98cdb6
extern const gshort thai_char_type[256];
Packit 98cdb6
extern const gshort thai_TAC_char_class[256];
Packit 98cdb6
extern const gchar  thai_TAC_compose_input[20][20];
Packit 98cdb6
Packit 98cdb6
#endif /* __THAI_CHARPROP_H__ */