class_docstr: The class generates a dictionary for recognition. It pre-defines four
  special tokens: ``start_token``, ``end_token``, ``pad_token``, and
  ``unknown_token``, which will be sequentially placed at the end of the
  dictionary when their corresponding flags are True.
  
  Args:
      dict_file (str): The path of Character dict file which a single
          character must occupies a line.
      with_start (bool): The flag to control whether to include the start
          token. Defaults to False.
      with_end (bool): The flag to control whether to include the end token.
          Defaults to False.
      same_start_end (bool): The flag to control whether the start token and
          end token are the same. It only works when both ``with_start`` and
          ``with_end`` are True. Defaults to False.
      with_padding (bool):The padding token may represent more than a
          padding. It can also represent tokens like the blank token in CTC
          or the background token in SegOCR. Defaults to False.
      with_unknown (bool): The flag to control whether to include the
          unknown token. Defaults to False.
      start_token (str): The start token as a string. Defaults to '<BOS>'.
      end_token (str): The end token as a string. Defaults to '<EOS>'.
      start_end_token (str): The start/end token as a string. if start and
          end is the same. Defaults to '<BOS/EOS>'.
      padding_token (str): The padding token as a string.
          Defaults to '<PAD>'.
      unknown_token (str, optional): The unknown token as a string. If it's
          set to None and ``with_unknown`` is True, the unknown token will be
          skipped when converting string to index. Defaults to '<UKN>'.
docstr: Convert a character to an index via ``Dictionary.dict``.
  
  Args:
      char (str): The character to convert to index.
      strict (bool): The flag to control whether to raise an exception
          when the character is not in the dictionary. Defaults to True.
  
  Return:
      int: The index of the character.
docstr_tok: ["Convert","a","character","to","an","index","via","``","Dictionary.dict","``",".","Args",":","char","(","str",")",":","The","character","to","convert","to","index",".","strict","(","bool",")",":","The","flag","to","control","whether","to","raise","an","exception","when","the","character","is","not","in","the","dictionary",".","Defaults","to","True",".","Return",":","int",":","The","index","of","the","character","."]
code: def char2idx(self, char: str, strict: bool = True) -> int:
      """Convert a character to an index via ``Dictionary.dict``.
  
      Args:
          char (str): The character to convert to index.
          strict (bool): The flag to control whether to raise an exception
              when the character is not in the dictionary. Defaults to True.
  
      Return:
          int: The index of the character.
      """
      char_idx = self._char2idx.get(char, None)
      if char_idx is None:
          if self.with_unknown:
              return self.unknown_idx
          elif not strict:
              return None
          else:
              raise Exception(
                  f"Chararcter: {char} not in dict,"
                  " please check gt_label and use"
                  " custom dict file,"
                  ' or set "with_unknown=True"'
              )
      return char_idx
  
file_path: mmocr/mmocr/models/common/dictionary/dictionary.py
imports: from typing import List, Sequence
  from mmocr.registry import TASK_UTILS
  from mmocr.utils import list_from_file
label_desc: Use image node_id 4 for calling the Dictionary obj's underlying member method code with example usage: obj.char2idx(char, strict) and returns: char_idx, self, None