};
}
static eBidiCategory GetBidiCat(PRUnichar u){    PRUint32 pat;    PRUint16 patidx;    /*  Handle blocks which use index table mapping */       /* Handle U+0000 to U+07FF */    if (u<=((PRUnichar)0x07FF)) {        patidx = gBidiCatIdx1 [( u  >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    /* Handle U+0900 to U+18FF */    if ((((PRUnichar)0x0900)<=u)&&(u<=((PRUnichar)0x18FF))) {        patidx = gBidiCatIdx2 [( (u -(PRUnichar) 0x0900) >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    /* Handle U+1E00 to U+28FF */    if ((((PRUnichar)0x1E00)<=u)&&(u<=((PRUnichar)0x28FF))) {        patidx = gBidiCatIdx3 [( (u -(PRUnichar) 0x1E00) >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    /* Handle U+2E80 to U+33FF */    if ((((PRUnichar)0x2E80)<=u)&&(u<=((PRUnichar)0x33FF))) {        patidx = gBidiCatIdx4 [( (u -(PRUnichar) 0x2E80) >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    /* Handle U+A000 to U+A4FF */    if ((((PRUnichar)0xA000)<=u)&&(u<=((PRUnichar)0xA4FF))) {        patidx = gBidiCatIdx5 [( (u -(PRUnichar) 0xA000) >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    /* Handle U+F900 to U+FFFF */    if (((PRUnichar)0xF900)<=u) {        patidx = gBidiCatIdx6 [( (u -(PRUnichar) 0xF900) >> 3 )];        if (patidx < 0x10)            return (eBidiCategory)patidx;        else {            pat = gBidiCatPat[patidx];            return (eBidiCategory)((pat  >> ((u % 8) * 4)) & 0x0F);        }    }    return eBidiCat_L; /* UNDEFINE = L */};