w32tex
About: TeX Live provides a comprehensive TeX system including all the major TeX-related programs, macro packages, and fonts that are free software. Windows sources.
  Fossies Dox: w32tex-src.tar.xz  ("unofficial" and yet experimental doxygen-generated source code documentation)  

utype.h File Reference
#include <ctype.h>
#include <basics.h>
Include dependency graph for utype.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  arabicforms
 

Macros

#define ____L   0x1
 
#define ____U   0x2
 
#define ____TITLE   0x4
 
#define ____D   0x8
 
#define ____S   0x10
 
#define ____P   0x20
 
#define ____X   0x40
 
#define ____ZW   0x80
 
#define ____L2R   0x100
 
#define ____R2L   0x200
 
#define ____ENUM   0x400
 
#define ____ANUM   0x800
 
#define ____ENS   0x1000
 
#define ____CS   0x2000
 
#define ____ENT   0x4000
 
#define ____COMBINE   0x8000
 
#define ____BB   0x10000
 
#define ____BA   0x20000
 
#define ____NS   0x40000
 
#define ____NE   0x80000
 
#define ____UB   0x100000
 
#define ____NB   0x8000000
 
#define ____AL   0x200000
 
#define ____ID   0x400000
 
#define ____INITIAL   0x800000
 
#define ____MEDIAL   0x1000000
 
#define ____FINAL   0x2000000
 
#define ____ISOLATED   0x4000000
 
#define ____DECOMPNORM   0x10000000
 
#define islower(ch)   (____utype[(ch)+1]&____L)
 
#define isupper(ch)   (____utype[(ch)+1]&____U)
 
#define istitle(ch)   (____utype[(ch)+1]&____TITLE)
 
#define isalpha(ch)   (____utype[(ch)+1]&(____L|____U|____TITLE|____AL))
 
#define isdigit(ch)   (____utype[(ch)+1]&____D)
 
#define isalnum(ch)   (____utype[(ch)+1]&(____L|____U|____TITLE|____AL|____D))
 
#define isideographic(ch)   (____utype[(ch)+1]&____ID)
 
#define isideoalpha(ch)   (____utype[(ch)+1]&(____ID|____L|____U|____TITLE|____AL))
 
#define isspace(ch)   (____utype[(ch)+1]&____S)
 
#define ispunct(ch)   (____utype[(ch)+1]&_____P)
 
#define ishexdigit(ch)   (____utype[(ch)+1]&____X)
 
#define iszerowidth(ch)   (____utype[(ch)+1]&____ZW)
 
#define islefttoright(ch)   (____utype[(ch)+1]&____L2R)
 
#define isrighttoleft(ch)   (____utype[(ch)+1]&____R2L)
 
#define iseuronumeric(ch)   (____utype[(ch)+1]&____ENUM)
 
#define isarabnumeric(ch)   (____utype[(ch)+1]&____ANUM)
 
#define iseuronumsep(ch)   (____utype[(ch)+1]&____ENS)
 
#define iscommonsep(ch)   (____utype[(ch)+1]&____CS)
 
#define iseuronumterm(ch)   (____utype[(ch)+1]&____ENT)
 
#define iscombining(ch)   (____utype[(ch)+1]&____COMBINE)
 
#define isbreakbetweenok(ch1, ch2)   (((____utype[(ch1)+1]&____BA) && !(____utype[(ch2)+1]&____NS)) || ((____utype[(ch2)+1]&____BB) && !(____utype[(ch1)+1]&____NE)) || (!(____utype[(ch2)+1]&____D) && ch1=='/'))
 
#define isnobreak(ch)   (____utype[(ch)+1]&____NB)
 
#define isarabinitial(ch)   (____utype[(ch)+1]&____INITIAL)
 
#define isarabmedial(ch)   (____utype[(ch)+1]&____MEDIAL)
 
#define isarabfinal(ch)   (____utype[(ch)+1]&____FINAL)
 
#define isarabisolated(ch)   (____utype[(ch)+1]&____ISOLATED)
 
#define isdecompositionnormative(ch)   (____utype[(ch)+1]&____DECOMPNORM)
 
#define ____COMBININGCLASS   0xff
 
#define ____ABOVE   0x100
 
#define ____BELOW   0x200
 
#define ____OVERSTRIKE   0x400
 
#define ____LEFT   0x800
 
#define ____RIGHT   0x1000
 
#define ____JOINS2   0x2000
 
#define ____CENTERLEFT   0x4000
 
#define ____CENTERRIGHT   0x8000
 
#define ____CENTEREDOUTSIDE   0x10000
 
#define ____OUTSIDE   0x20000
 
#define ____LEFTEDGE   0x80000
 
#define ____RIGHTEDGE   0x40000
 
#define ____TOUCHING   0x100000
 
#define ____COMBININGPOSMASK   0x1fff00
 
#define ____NOPOSDATAGIVEN   (uint32)(-1) /* -1 == no position data given */
 
#define combiningclass(ch)   (____utype2[(ch)+1]&____COMBININGCLASS)
 
#define combiningposmask(ch)   (____utype2[(ch)+1]&____COMBININGPOSMASK)
 
#define isunicodepointassigned(ch)   (____codepointassigned[(ch)/32]&(1<<((ch)%32)))
 
#define tolower(ch)   (____tolower[(ch)+1])
 
#define toupper(ch)   (____toupper[(ch)+1])
 
#define totitle(ch)   (____totitle[(ch)+1])
 
#define tomirror(ch)   (____tomirror[(ch)+1])
 
#define tovalue(ch)   (____digitval[(ch)+1])
 
#define _SOFT_HYPHEN   0xad
 
#define _DOUBLE_S   0xdf
 

Variables

const unsigned short ____tolower []
 
const unsigned short ____toupper []
 
const unsigned short ____totitle []
 
const unsigned short ____tomirror []
 
const unsigned char ____digitval []
 
const uint32 ____utype []
 
const uint32 ____utype2 []
 
const uint32 ____codepointassigned []
 
struct arabicforms ArabicForms [256]
 

Macro Definition Documentation

◆ ____ABOVE

#define ____ABOVE   0x100

Definition at line 112 of file utype.h.

◆ ____AL

#define ____AL   0x200000

Definition at line 71 of file utype.h.

◆ ____ANUM

#define ____ANUM   0x800

Definition at line 60 of file utype.h.

◆ ____BA

#define ____BA   0x20000

Definition at line 66 of file utype.h.

◆ ____BB

#define ____BB   0x10000

Definition at line 65 of file utype.h.

◆ ____BELOW

#define ____BELOW   0x200

Definition at line 113 of file utype.h.

◆ ____CENTEREDOUTSIDE

#define ____CENTEREDOUTSIDE   0x10000

Definition at line 120 of file utype.h.

◆ ____CENTERLEFT

#define ____CENTERLEFT   0x4000

Definition at line 118 of file utype.h.

◆ ____CENTERRIGHT

#define ____CENTERRIGHT   0x8000

Definition at line 119 of file utype.h.

◆ ____COMBINE

#define ____COMBINE   0x8000

Definition at line 64 of file utype.h.

◆ ____COMBININGCLASS

#define ____COMBININGCLASS   0xff

Definition at line 111 of file utype.h.

◆ ____COMBININGPOSMASK

#define ____COMBININGPOSMASK   0x1fff00

Definition at line 125 of file utype.h.

◆ ____CS

#define ____CS   0x2000

Definition at line 62 of file utype.h.

◆ ____D

#define ____D   0x8

Definition at line 52 of file utype.h.

◆ ____DECOMPNORM

#define ____DECOMPNORM   0x10000000

Definition at line 77 of file utype.h.

◆ ____ENS

#define ____ENS   0x1000

Definition at line 61 of file utype.h.

◆ ____ENT

#define ____ENT   0x4000

Definition at line 63 of file utype.h.

◆ ____ENUM

#define ____ENUM   0x400

Definition at line 59 of file utype.h.

◆ ____FINAL

#define ____FINAL   0x2000000

Definition at line 75 of file utype.h.

◆ ____ID

#define ____ID   0x400000

Definition at line 72 of file utype.h.

◆ ____INITIAL

#define ____INITIAL   0x800000

Definition at line 73 of file utype.h.

◆ ____ISOLATED

#define ____ISOLATED   0x4000000

Definition at line 76 of file utype.h.

◆ ____JOINS2

#define ____JOINS2   0x2000

Definition at line 117 of file utype.h.

◆ ____L

#define ____L   0x1

Definition at line 49 of file utype.h.

◆ ____L2R

#define ____L2R   0x100

Definition at line 57 of file utype.h.

◆ ____LEFT

#define ____LEFT   0x800

Definition at line 115 of file utype.h.

◆ ____LEFTEDGE

#define ____LEFTEDGE   0x80000

Definition at line 122 of file utype.h.

◆ ____MEDIAL

#define ____MEDIAL   0x1000000

Definition at line 74 of file utype.h.

◆ ____NB

#define ____NB   0x8000000

Definition at line 70 of file utype.h.

◆ ____NE

#define ____NE   0x80000

Definition at line 68 of file utype.h.

◆ ____NOPOSDATAGIVEN

#define ____NOPOSDATAGIVEN   (uint32)(-1) /* -1 == no position data given */

Definition at line 126 of file utype.h.

◆ ____NS

#define ____NS   0x40000

Definition at line 67 of file utype.h.

◆ ____OUTSIDE

#define ____OUTSIDE   0x20000

Definition at line 121 of file utype.h.

◆ ____OVERSTRIKE

#define ____OVERSTRIKE   0x400

Definition at line 114 of file utype.h.

◆ ____P

#define ____P   0x20

Definition at line 54 of file utype.h.

◆ ____R2L

#define ____R2L   0x200

Definition at line 58 of file utype.h.

◆ ____RIGHT

#define ____RIGHT   0x1000

Definition at line 116 of file utype.h.

◆ ____RIGHTEDGE

#define ____RIGHTEDGE   0x40000

Definition at line 123 of file utype.h.

◆ ____S

#define ____S   0x10

Definition at line 53 of file utype.h.

◆ ____TITLE

#define ____TITLE   0x4

Definition at line 51 of file utype.h.

◆ ____TOUCHING

#define ____TOUCHING   0x100000

Definition at line 124 of file utype.h.

◆ ____U

#define ____U   0x2

Definition at line 50 of file utype.h.

◆ ____UB

#define ____UB   0x100000

Definition at line 69 of file utype.h.

◆ ____X

#define ____X   0x40

Definition at line 55 of file utype.h.

◆ ____ZW

#define ____ZW   0x80

Definition at line 56 of file utype.h.

◆ _DOUBLE_S

#define _DOUBLE_S   0xdf

Definition at line 153 of file utype.h.

◆ _SOFT_HYPHEN

#define _SOFT_HYPHEN   0xad

Definition at line 151 of file utype.h.

◆ combiningclass

#define combiningclass (   ch)    (____utype2[(ch)+1]&____COMBININGCLASS)

Definition at line 128 of file utype.h.

◆ combiningposmask

#define combiningposmask (   ch)    (____utype2[(ch)+1]&____COMBININGPOSMASK)

Definition at line 129 of file utype.h.

◆ isalnum

#define isalnum (   ch)    (____utype[(ch)+1]&(____L|____U|____TITLE|____AL|____D))

Definition at line 84 of file utype.h.

◆ isalpha

#define isalpha (   ch)    (____utype[(ch)+1]&(____L|____U|____TITLE|____AL))

Definition at line 82 of file utype.h.

◆ isarabfinal

#define isarabfinal (   ch)    (____utype[(ch)+1]&____FINAL)

Definition at line 103 of file utype.h.

◆ isarabinitial

#define isarabinitial (   ch)    (____utype[(ch)+1]&____INITIAL)

Definition at line 101 of file utype.h.

◆ isarabisolated

#define isarabisolated (   ch)    (____utype[(ch)+1]&____ISOLATED)

Definition at line 104 of file utype.h.

◆ isarabmedial

#define isarabmedial (   ch)    (____utype[(ch)+1]&____MEDIAL)

Definition at line 102 of file utype.h.

◆ isarabnumeric

#define isarabnumeric (   ch)    (____utype[(ch)+1]&____ANUM)

Definition at line 94 of file utype.h.

◆ isbreakbetweenok

#define isbreakbetweenok (   ch1,
  ch2 
)    (((____utype[(ch1)+1]&____BA) && !(____utype[(ch2)+1]&____NS)) || ((____utype[(ch2)+1]&____BB) && !(____utype[(ch1)+1]&____NE)) || (!(____utype[(ch2)+1]&____D) && ch1=='/'))

Definition at line 99 of file utype.h.

◆ iscombining

#define iscombining (   ch)    (____utype[(ch)+1]&____COMBINE)

Definition at line 98 of file utype.h.

◆ iscommonsep

#define iscommonsep (   ch)    (____utype[(ch)+1]&____CS)

Definition at line 96 of file utype.h.

◆ isdecompositionnormative

#define isdecompositionnormative (   ch)    (____utype[(ch)+1]&____DECOMPNORM)

Definition at line 106 of file utype.h.

◆ isdigit

#define isdigit (   ch)    (____utype[(ch)+1]&____D)

Definition at line 83 of file utype.h.

◆ iseuronumeric

#define iseuronumeric (   ch)    (____utype[(ch)+1]&____ENUM)

Definition at line 93 of file utype.h.

◆ iseuronumsep

#define iseuronumsep (   ch)    (____utype[(ch)+1]&____ENS)

Definition at line 95 of file utype.h.

◆ iseuronumterm

#define iseuronumterm (   ch)    (____utype[(ch)+1]&____ENT)

Definition at line 97 of file utype.h.

◆ ishexdigit

#define ishexdigit (   ch)    (____utype[(ch)+1]&____X)

Definition at line 89 of file utype.h.

◆ isideoalpha

#define isideoalpha (   ch)    (____utype[(ch)+1]&(____ID|____L|____U|____TITLE|____AL))

Definition at line 86 of file utype.h.

◆ isideographic

#define isideographic (   ch)    (____utype[(ch)+1]&____ID)

Definition at line 85 of file utype.h.

◆ islefttoright

#define islefttoright (   ch)    (____utype[(ch)+1]&____L2R)

Definition at line 91 of file utype.h.

◆ islower

#define islower (   ch)    (____utype[(ch)+1]&____L)

Definition at line 79 of file utype.h.

◆ isnobreak

#define isnobreak (   ch)    (____utype[(ch)+1]&____NB)

Definition at line 100 of file utype.h.

◆ ispunct

#define ispunct (   ch)    (____utype[(ch)+1]&_____P)

Definition at line 88 of file utype.h.

◆ isrighttoleft

#define isrighttoleft (   ch)    (____utype[(ch)+1]&____R2L)

Definition at line 92 of file utype.h.

◆ isspace

#define isspace (   ch)    (____utype[(ch)+1]&____S)

Definition at line 87 of file utype.h.

◆ istitle

#define istitle (   ch)    (____utype[(ch)+1]&____TITLE)

Definition at line 81 of file utype.h.

◆ isunicodepointassigned

#define isunicodepointassigned (   ch)    (____codepointassigned[(ch)/32]&(1<<((ch)%32)))

Definition at line 133 of file utype.h.

◆ isupper

#define isupper (   ch)    (____utype[(ch)+1]&____U)

Definition at line 80 of file utype.h.

◆ iszerowidth

#define iszerowidth (   ch)    (____utype[(ch)+1]&____ZW)

Definition at line 90 of file utype.h.

◆ tolower

#define tolower (   ch)    (____tolower[(ch)+1])

Definition at line 137 of file utype.h.

◆ tomirror

#define tomirror (   ch)    (____tomirror[(ch)+1])

Definition at line 140 of file utype.h.

◆ totitle

#define totitle (   ch)    (____totitle[(ch)+1])

Definition at line 139 of file utype.h.

◆ toupper

#define toupper (   ch)    (____toupper[(ch)+1])

Definition at line 138 of file utype.h.

◆ tovalue

#define tovalue (   ch)    (____digitval[(ch)+1])

Definition at line 141 of file utype.h.

Variable Documentation

◆ ____codepointassigned

const uint32 ____codepointassigned[]
extern

Definition at line 57371 of file utype.c.

◆ ____digitval

const unsigned char ____digitval[]
extern

Definition at line 32785 of file utype.c.

◆ ____tolower

const unsigned short ____tolower[]
extern

Definition at line 9 of file utype.c.

◆ ____tomirror

const unsigned short ____tomirror[]
extern

Definition at line 8204 of file utype.c.

◆ ____totitle

const unsigned short ____totitle[]
extern

Definition at line 16395 of file utype.c.

◆ ____toupper

const unsigned short ____toupper[]
extern

Definition at line 8200 of file utype.c.

◆ ____utype

const uint32 ____utype[]
extern

Definition at line 16399 of file utype.c.

◆ ____utype2

const uint32 ____utype2[]
extern

Definition at line 49175 of file utype.c.

◆ ArabicForms

struct arabicforms ArabicForms[256]