# DerivedJoiningGroup-4.1.0.txt
# Date: 2004-12-15, 02:14:58 GMT [MD]
#
# Unicode Character Database
# Copyright (c) 1991-2005 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.

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

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

# Total code points: 8

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

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

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

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: 11

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

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

# Total code points: 13

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

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

# Total code points: 4

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

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

# Total code points: 15

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

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

# Total code points: 8

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

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

# Total code points: 13

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

0718          ; Syriac_Waw # Lo       SYRIAC LETTER WAW

# Total code points: 1

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

0626          ; Yeh # Lo       ARABIC LETTER YEH WITH HAMZA 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

# Total code points: 8

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

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
