[USE] Restore the category WJ
diff --git a/src/gen-use-table.py b/src/gen-use-table.py
index 34540ca..2d667ac 100755
--- a/src/gen-use-table.py
+++ b/src/gen-use-table.py
@@ -226,8 +226,8 @@
 	if UISC == Consonant_Placeholder: return True
 	return U in [0x2015, 0x2022, 0x25FB, 0x25FC, 0x25FD, 0x25FE]
 def is_CGJ(U, UISC, UDI, UGC, AJT):
-	# Also includes VARIATION_SELECTOR, WJ, and ZWJ
-	return U == 0x200D or UDI and UGC in [Mc, Me, Mn]
+	# Also includes VARIATION_SELECTOR and ZWJ
+	return UISC == Joiner or UDI and UGC in [Mc, Me, Mn]
 def is_CONS_FINAL(U, UISC, UDI, UGC, AJT):
 	return ((UISC == Consonant_Final and UGC != Lo) or
 		UISC == Consonant_Succeeding_Repha)
@@ -271,6 +271,7 @@
 		and not is_BASE_OTHER(U, UISC, UDI, UGC, AJT)
 		and not is_CGJ(U, UISC, UDI, UGC, AJT)
 		and not is_SYM_MOD(U, UISC, UDI, UGC, AJT)
+		and not is_Word_Joiner(U, UISC, UDI, UGC, AJT)
 	)
 def is_REPHA(U, UISC, UDI, UGC, AJT):
 	return UISC in [Consonant_Preceding_Repha, Consonant_Prefixed]
@@ -287,6 +288,11 @@
 	# https://github.com/harfbuzz/harfbuzz/issues/376
 	return (UISC in [Tone_Mark, Cantillation_Mark, Register_Shifter, Visarga] or
 		(UGC != Lo and (UISC == Bindu or U in [0xAA29])))
+def is_Word_Joiner(U, UISC, UDI, UGC, AJT):
+	return (UDI and U not in [0x115F, 0x1160, 0x3164, 0xFFA0, 0x1BCA0, 0x1BCA1, 0x1BCA2, 0x1BCA3]
+		and UISC == Other
+		and not is_CGJ(U, UISC, UDI, UGC, AJT)
+	)
 
 use_mapping = {
 	'B':	is_BASE,
@@ -313,6 +319,7 @@
 	'SM':	is_SYM_MOD,
 	'V':	is_VOWEL,
 	'VM':	is_VOWEL_MOD,
+	'WJ':	is_Word_Joiner,
 }
 
 use_positions = {