Because we need to convert back to CID in charToGlyph, not CMap encoding.
cidToUnicode is used for CMap encoding->CID->Unicode conversion.
If the CMap encoding is 'Identity-H/V', it happened to be the same as CID->Unicode conversion.
If the CMap encoding is 'Uni*', it's Unicode->CID->Unicode which will end up to the identity mapping. So I cleared cidToUnicode for 'Uni*' encodings.
On the other hand, unicodeToCID is used for Unicode->CID conversion regardless of the CMap encoding.