# DerivedJoiningGroup-5.1.0.txt
# Date: 2008-03-03, 21:57:35 GMT [MD]
#
# Unicode Character Database
# Copyright (c) 1991-2008 Unicode, Inc.
# For terms of use, see http://www.unicode.org/terms_of_use.html
# For documentation, see UCD.html

# ================================================

# Joining Group (listing ArabicShaping.txt, field 3)

#  All code points not explicitly listed for Joining_Group
#  have the value No_Joining_Group.

# @missing: 0000..10FFFF; No_Joining_Group

# ================================================

0639..063A    ; Ain # Lo   [2] ARABIC LETTER AIN..ARABIC LETTER GHAIN
06A0          ; Ain # Lo       ARABIC LETTER AIN WITH THREE DOTS ABOVE
06FC          ; Ain # Lo       ARABIC LETTER GHAIN WITH DOT BELOW
075D..075F    ; Ain # Lo   [3] ARABIC LETTER AIN WITH TWO DOTS ABOVE..ARABIC LETTER AIN WITH TWO DOTS VERTICALLY ABOVE

# Total code points: 7

# ================================================

0710          ; Alaph # Lo       SYRIAC LETTER ALAPH

# Total code points: 1

# ================================================

0622..0623    ; Alef # Lo   [2] ARABIC LETTER ALEF WITH MADDA ABOVE..ARABIC LETTER ALEF WITH HAMZA ABOVE
0625          ; Alef # Lo       ARABIC LETTER ALEF WITH HAMZA BELOW
0627          ; Alef # Lo       ARABIC LETTER ALEF
0671..0673    ; Alef # Lo   [3] ARABIC LETTER ALEF WASLA..ARABIC LETTER ALEF WITH WAVY HAMZA BELOW
0675          ; Alef # Lo       ARABIC LETTER HIGH HAMZA ALEF
0773..0774    ; Alef # Lo   [2] ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER ALEF WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE

# Total code points: 10

# ================================================

0628          ; Beh # Lo       ARABIC LETTER BEH
062A..062B    ; Beh # Lo   [2] ARABIC LETTER TEH..ARABIC LETTER THEH
066E          ; Beh # Lo       ARABIC LETTER DOTLESS BEH
0679..0680    ; Beh # Lo   [8] ARABIC LETTER TTEH..ARABIC LETTER BEHEH
0750..0756    ; Beh # Lo   [7] ARABIC LETTER BEH WITH THREE DOTS HORIZONTALLY BELOW..ARABIC LETTER BEH WITH SMALL V

# Total code points: 19

# ================================================

0712          ; Beth # Lo       SYRIAC LETTER BETH
072D          ; Beth # Lo       SYRIAC LETTER PERSIAN BHETH

# Total code points: 2

# ================================================

062F..0630    ; Dal # Lo   [2] ARABIC LETTER DAL..ARABIC LETTER THAL
0688..0690    ; Dal # Lo   [9] ARABIC LETTER DDAL..ARABIC LETTER DAL WITH FOUR DOTS ABOVE
06EE          ; Dal # Lo       ARABIC LETTER DAL WITH INVERTED V
0759..075A    ; Dal # Lo   [2] ARABIC LETTER DAL WITH TWO DOTS VERTICALLY BELOW AND SMALL TAH..ARABIC LETTER DAL WITH INVERTED SMALL V BELOW

# Total code points: 14

# ================================================

0715..0716    ; Dalath_Rish # Lo   [2] SYRIAC LETTER DALATH..SYRIAC LETTER DOTLESS DALATH RISH
072A          ; Dalath_Rish # Lo       SYRIAC LETTER RISH
072F          ; Dalath_Rish # Lo       SYRIAC LETTER PERSIAN DHALATH

# Total code points: 4

# ================================================

0725          ; E # Lo       SYRIAC LETTER E

# Total code points: 1

# ================================================

0641          ; Feh # Lo       ARABIC LETTER FEH
06A1..06A6    ; Feh # Lo   [6] ARABIC LETTER DOTLESS FEH..ARABIC LETTER PEHEH
0760..0761    ; Feh # Lo   [2] ARABIC LETTER FEH WITH TWO DOTS BELOW..ARABIC LETTER FEH WITH THREE DOTS POINTING UPWARDS BELOW

# Total code points: 9

# ================================================

0724          ; Final_Semkath # Lo       SYRIAC LETTER FINAL SEMKATH

# Total code points: 1

# ================================================

063B..063C    ; Gaf # Lo   [2] ARABIC LETTER KEHEH WITH TWO DOTS ABOVE..ARABIC LETTER KEHEH WITH THREE DOTS BELOW
06A9          ; Gaf # Lo       ARABIC LETTER KEHEH
06AB          ; Gaf # Lo       ARABIC LETTER KAF WITH RING
06AF..06B4    ; Gaf # Lo   [6] ARABIC LETTER GAF..ARABIC LETTER GAF WITH THREE DOTS ABOVE
0762..0764    ; Gaf # Lo   [3] ARABIC LETTER KEHEH WITH DOT ABOVE..ARABIC LETTER KEHEH WITH THREE DOTS POINTING UPWARDS BELOW

# Total code points: 13

# ================================================

0713..0714    ; Gamal # Lo   [2] SYRIAC LETTER GAMAL..SYRIAC LETTER GAMAL GARSHUNI
072E          ; Gamal # Lo       SYRIAC LETTER PERSIAN GHAMAL

# Total code points: 3

# ================================================

062C..062E    ; Hah # Lo   [3] ARABIC LETTER JEEM..ARABIC LETTER KHAH
0681..0687    ; Hah # Lo   [7] ARABIC LETTER HAH WITH HAMZA ABOVE..ARABIC LETTER TCHEHEH
06BF          ; Hah # Lo       ARABIC LETTER TCHEH WITH DOT ABOVE
0757..0758    ; Hah # Lo   [2] ARABIC LETTER HAH WITH TWO DOTS ABOVE..ARABIC LETTER HAH WITH THREE DOTS POINTING UPWARDS BELOW
076E..076F    ; Hah # Lo   [2] ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH BELOW..ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH AND TWO DOTS
0772          ; Hah # Lo       ARABIC LETTER HAH WITH SMALL ARABIC LETTER TAH ABOVE
077C          ; Hah # Lo       ARABIC LETTER HAH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW

# Total code points: 17

# ================================================

06C3          ; Hamza_On_Heh_Goal # Lo       ARABIC LETTER TEH MARBUTA GOAL

# Total code points: 1

# ================================================

0717          ; He # Lo       SYRIAC LETTER HE

# Total code points: 1

# ================================================

0647          ; Heh # Lo       ARABIC LETTER HEH

# Total code points: 1

# ================================================

06C1..06C2    ; Heh_Goal # Lo   [2] ARABIC LETTER HEH GOAL..ARABIC LETTER HEH GOAL WITH HAMZA ABOVE

# Total code points: 2

# ================================================

071A          ; Heth # Lo       SYRIAC LETTER HETH

# Total code points: 1

# ================================================

0643          ; Kaf # Lo       ARABIC LETTER KAF
06AC..06AE    ; Kaf # Lo   [3] ARABIC LETTER KAF WITH DOT ABOVE..ARABIC LETTER KAF WITH THREE DOTS BELOW
077F          ; Kaf # Lo       ARABIC LETTER KAF WITH TWO DOTS ABOVE

# Total code points: 5

# ================================================

071F          ; Kaph # Lo       SYRIAC LETTER KAPH

# Total code points: 1

# ================================================

06BE          ; Knotted_Heh # Lo       ARABIC LETTER HEH DOACHASHMEE
06FF          ; Knotted_Heh # Lo       ARABIC LETTER HEH WITH INVERTED V

# Total code points: 2

# ================================================

0644          ; Lam # Lo       ARABIC LETTER LAM
06B5..06B8    ; Lam # Lo   [4] ARABIC LETTER LAM WITH SMALL V..ARABIC LETTER LAM WITH THREE DOTS BELOW
076A          ; Lam # Lo       ARABIC LETTER LAM WITH BAR

# Total code points: 6

# ================================================

0720          ; Lamadh # Lo       SYRIAC LETTER LAMADH

# Total code points: 1

# ================================================

0645          ; Meem # Lo       ARABIC LETTER MEEM
0765..0766    ; Meem # Lo   [2] ARABIC LETTER MEEM WITH DOT ABOVE..ARABIC LETTER MEEM WITH DOT BELOW

# Total code points: 3

# ================================================

0721          ; Mim # Lo       SYRIAC LETTER MIM

# Total code points: 1

# ================================================

0646          ; Noon # Lo       ARABIC LETTER NOON
06B9..06BD    ; Noon # Lo   [5] ARABIC LETTER NOON WITH DOT BELOW..ARABIC LETTER NOON WITH THREE DOTS ABOVE
0767..0769    ; Noon # Lo   [3] ARABIC LETTER NOON WITH TWO DOTS BELOW..ARABIC LETTER NOON WITH SMALL V

# Total code points: 9

# ================================================

0722          ; Nun # Lo       SYRIAC LETTER NUN

# Total code points: 1

# ================================================

0726          ; Pe # Lo       SYRIAC LETTER PE

# Total code points: 1

# ================================================

0642          ; Qaf # Lo       ARABIC LETTER QAF
066F          ; Qaf # Lo       ARABIC LETTER DOTLESS QAF
06A7..06A8    ; Qaf # Lo   [2] ARABIC LETTER QAF WITH DOT ABOVE..ARABIC LETTER QAF WITH THREE DOTS ABOVE

# Total code points: 4

# ================================================

0729          ; Qaph # Lo       SYRIAC LETTER QAPH

# Total code points: 1

# ================================================

0631..0632    ; Reh # Lo   [2] ARABIC LETTER REH..ARABIC LETTER ZAIN
0691..0699    ; Reh # Lo   [9] ARABIC LETTER RREH..ARABIC LETTER REH WITH FOUR DOTS ABOVE
06EF          ; Reh # Lo       ARABIC LETTER REH WITH INVERTED V
075B          ; Reh # Lo       ARABIC LETTER REH WITH STROKE
076B..076C    ; Reh # Lo   [2] ARABIC LETTER REH WITH TWO DOTS VERTICALLY ABOVE..ARABIC LETTER REH WITH HAMZA ABOVE
0771          ; Reh # Lo       ARABIC LETTER REH WITH SMALL ARABIC LETTER TAH AND TWO DOTS

# Total code points: 16

# ================================================

0727          ; Reversed_Pe # Lo       SYRIAC LETTER REVERSED PE

# Total code points: 1

# ================================================

0635..0636    ; Sad # Lo   [2] ARABIC LETTER SAD..ARABIC LETTER DAD
069D..069E    ; Sad # Lo   [2] ARABIC LETTER SAD WITH TWO DOTS BELOW..ARABIC LETTER SAD WITH THREE DOTS ABOVE
06FB          ; Sad # Lo       ARABIC LETTER DAD WITH DOT BELOW

# Total code points: 5

# ================================================

0728          ; Sadhe # Lo       SYRIAC LETTER SADHE

# Total code points: 1

# ================================================

0633..0634    ; Seen # Lo   [2] ARABIC LETTER SEEN..ARABIC LETTER SHEEN
069A..069C    ; Seen # Lo   [3] ARABIC LETTER SEEN WITH DOT BELOW AND DOT ABOVE..ARABIC LETTER SEEN WITH THREE DOTS BELOW AND THREE DOTS ABOVE
06FA          ; Seen # Lo       ARABIC LETTER SHEEN WITH DOT BELOW
075C          ; Seen # Lo       ARABIC LETTER SEEN WITH FOUR DOTS ABOVE
076D          ; Seen # Lo       ARABIC LETTER SEEN WITH TWO DOTS VERTICALLY ABOVE
0770          ; Seen # Lo       ARABIC LETTER SEEN WITH SMALL ARABIC LETTER TAH AND TWO DOTS
077D..077E    ; Seen # Lo   [2] ARABIC LETTER SEEN WITH EXTENDED ARABIC-INDIC DIGIT FOUR ABOVE..ARABIC LETTER SEEN WITH INVERTED V

# Total code points: 11

# ================================================

0723          ; Semkath # Lo       SYRIAC LETTER SEMKATH

# Total code points: 1

# ================================================

072B          ; Shin # Lo       SYRIAC LETTER SHIN

# Total code points: 1

# ================================================

06AA          ; Swash_Kaf # Lo       ARABIC LETTER SWASH KAF

# Total code points: 1

# ================================================

0637..0638    ; Tah # Lo   [2] ARABIC LETTER TAH..ARABIC LETTER ZAH
069F          ; Tah # Lo       ARABIC LETTER TAH WITH THREE DOTS ABOVE

# Total code points: 3

# ================================================

072C          ; Taw # Lo       SYRIAC LETTER TAW

# Total code points: 1

# ================================================

0629          ; Teh_Marbuta # Lo       ARABIC LETTER TEH MARBUTA
06C0          ; Teh_Marbuta # Lo       ARABIC LETTER HEH WITH YEH ABOVE
06D5          ; Teh_Marbuta # Lo       ARABIC LETTER AE

# Total code points: 3

# ================================================

071B..071C    ; Teth # Lo   [2] SYRIAC LETTER TETH..SYRIAC LETTER TETH GARSHUNI

# Total code points: 2

# ================================================

0624          ; Waw # Lo       ARABIC LETTER WAW WITH HAMZA ABOVE
0648          ; Waw # Lo       ARABIC LETTER WAW
0676..0677    ; Waw # Lo   [2] ARABIC LETTER HIGH HAMZA WAW..ARABIC LETTER U WITH HAMZA ABOVE
06C4..06CB    ; Waw # Lo   [8] ARABIC LETTER WAW WITH RING..ARABIC LETTER VE
06CF          ; Waw # Lo       ARABIC LETTER WAW WITH DOT ABOVE
0778..0779    ; Waw # Lo   [2] ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER WAW WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE

# Total code points: 15

# ================================================

0718          ; Syriac_Waw # Lo       SYRIAC LETTER WAW

# Total code points: 1

# ================================================

0626          ; Yeh # Lo       ARABIC LETTER YEH WITH HAMZA ABOVE
063D..063F    ; Yeh # Lo   [3] ARABIC LETTER FARSI YEH WITH INVERTED V..ARABIC LETTER FARSI YEH WITH THREE DOTS ABOVE
0649..064A    ; Yeh # Lo   [2] ARABIC LETTER ALEF MAKSURA..ARABIC LETTER YEH
0678          ; Yeh # Lo       ARABIC LETTER HIGH HAMZA YEH
06CC          ; Yeh # Lo       ARABIC LETTER FARSI YEH
06CE          ; Yeh # Lo       ARABIC LETTER YEH WITH SMALL V
06D0..06D1    ; Yeh # Lo   [2] ARABIC LETTER E..ARABIC LETTER YEH WITH THREE DOTS BELOW
0775..0777    ; Yeh # Lo   [3] ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER FARSI YEH WITH EXTENDED ARABIC-INDIC DIGIT FOUR BELOW

# Total code points: 14

# ================================================

06D2..06D3    ; Yeh_Barree # Lo   [2] ARABIC LETTER YEH BARREE..ARABIC LETTER YEH BARREE WITH HAMZA ABOVE

# Total code points: 2

# ================================================

06CD          ; Yeh_With_Tail # Lo       ARABIC LETTER YEH WITH TAIL

# Total code points: 1

# ================================================

071D          ; Yudh # Lo       SYRIAC LETTER YUDH

# Total code points: 1

# ================================================

071E          ; Yudh_He # Lo       SYRIAC LETTER YUDH HE

# Total code points: 1

# ================================================

0719          ; Zain # Lo       SYRIAC LETTER ZAIN

# Total code points: 1

# ================================================

074D          ; Zhain # Lo       SYRIAC LETTER SOGDIAN ZHAIN

# Total code points: 1

# ================================================

074E          ; Khaph # Lo       SYRIAC LETTER SOGDIAN KHAPH

# Total code points: 1

# ================================================

074F          ; Fe # Lo       SYRIAC LETTER SOGDIAN FE

# Total code points: 1

# ================================================

077A..077B    ; Burushaski_Yeh_Barree # Lo   [2] ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT TWO ABOVE..ARABIC LETTER YEH BARREE WITH EXTENDED ARABIC-INDIC DIGIT THREE ABOVE

# Total code points: 2

# EOF
