void ReadBfChar()
        {
            while (_lexer.NextToken())
            {
                switch (_lexer.Token)
                {
                case Token.Ider:
                    if (_lexer.StringValue == "endbfchar")
                    {
                        return;
                    }
                    break;

                case Token.HexString:
                    var nx = new PdfHexString(_lexer.StringValue);
                    _lexer.NextToken();
                    var uni = new PdfHexString(_lexer.StringValue);
                    _mapper.AddChar(nx.Value, uni.Value);
                    break;
                }
            }
        }
        void ReadBfRange()
        {
            while (_lexer.NextToken())
            {
                switch (_lexer.Token)
                {
                case Token.Ider:
                    if (_lexer.StringValue == "endbfrange")
                    {
                        return;
                    }
                    break;

                case Token.HexString:
                    var cid1 = new PdfHexString(_lexer.StringValue);
                    _lexer.NextToken();
                    var cid2 = new PdfHexString(_lexer.StringValue);
                    _lexer.NextToken();
                    var code = new PdfHexString(_lexer.StringValue);
                    _mapper.AddRange(cid1.Value, cid2.Value, code.Value);
                    break;
                }
            }
        }