@@ -8252,6 +8252,7 @@ while (*cc != XCL_END)
82528252 OP2U (SLJIT_AND | SLJIT_SET_Z , typereg , 0 , SLJIT_IMM , UCPCAT (ucp_Cf ));
82538253 jump = JUMP (SLJIT_ZERO );
82548254
8255+ c = charoffset ;
82558256 /* In case of ucp_Cf, we overwrite the result. */
82568257 SET_CHAR_OFFSET (0x2066 );
82578258 OP2U (SLJIT_SUB | SLJIT_SET_LESS_EQUAL , TMP1 , 0 , SLJIT_IMM , 0x2069 - 0x2066 );
@@ -8263,6 +8264,9 @@ while (*cc != XCL_END)
82638264 OP2U (SLJIT_SUB | SLJIT_SET_Z , TMP1 , 0 , SLJIT_IMM , 0x180e - 0x2066 );
82648265 OP_FLAGS (SLJIT_OR , TMP2 , 0 , SLJIT_EQUAL );
82658266
8267+ /* Restore charoffset. */
8268+ SET_CHAR_OFFSET (c );
8269+
82668270 JUMPHERE (jump );
82678271 jump = CMP (SLJIT_ZERO ^ invertcmp , TMP2 , 0 , SLJIT_IMM , 0 );
82688272 break ;
@@ -8274,6 +8278,7 @@ while (*cc != XCL_END)
82748278 OP2U (SLJIT_AND | SLJIT_SET_Z , typereg , 0 , SLJIT_IMM , UCPCAT (ucp_Cf ));
82758279 jump = JUMP (SLJIT_ZERO );
82768280
8281+ c = charoffset ;
82778282 /* In case of ucp_Cf, we overwrite the result. */
82788283 SET_CHAR_OFFSET (0x2066 );
82798284 OP2U (SLJIT_SUB | SLJIT_SET_LESS_EQUAL , TMP1 , 0 , SLJIT_IMM , 0x2069 - 0x2066 );
@@ -8282,6 +8287,9 @@ while (*cc != XCL_END)
82828287 OP2U (SLJIT_SUB | SLJIT_SET_Z , TMP1 , 0 , SLJIT_IMM , 0x061c - 0x2066 );
82838288 OP_FLAGS (SLJIT_OR , TMP2 , 0 , SLJIT_EQUAL );
82848289
8290+ /* Restore charoffset. */
8291+ SET_CHAR_OFFSET (c );
8292+
82858293 JUMPHERE (jump );
82868294 jump = CMP (SLJIT_ZERO ^ invertcmp , TMP2 , 0 , SLJIT_IMM , 0 );
82878295 break ;
@@ -8326,7 +8334,7 @@ while (*cc != XCL_END)
83268334 OP2U (SLJIT_SUB | SLJIT_SET_LESS_EQUAL , TMP1 , 0 , SLJIT_IMM , 0xff46 - 0xff41 );
83278335 OP_FLAGS (SLJIT_OR , TMP2 , 0 , SLJIT_LESS_EQUAL );
83288336
8329- SET_CHAR_OFFSET (CHAR_a );
8337+ SET_CHAR_OFFSET (0xff10 );
83308338
83318339 JUMPHERE (jump );
83328340 OP2U (SLJIT_SUB | SLJIT_SET_Z , TMP2 , 0 , SLJIT_IMM , 0 );
0 commit comments