# DerivedJoiningGroup-5.0.0.txt
# Date: 2006-03-09, 23:13:48 GMT [MD]
#
# Unicode Character Database
# Copyright (c) 1991-2006 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

# 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

# EOF
