anchor.diff:  
   %% @doc Return true if the given character is an ASCII control character
   %% as defined by https://tools.ietf.org/html/rfc3454#appendix-C.2.1
  +-spec is_ascii_control_character(char()) -> boolean().
   is_ascii_control_character(C) ->
       C =< 16#001F orelse C == 16#007F.
   
   %% @doc Return true if the given character is a non-ASCII control character
   %% as defined by https://tools.ietf.org/html/rfc3454#appendix-C.2.2
  +-spec is_non_ascii_control_character(char()) -> boolean().
   is_non_ascii_control_character(C) ->
       (16#0080 =< C andalso C =< 16#009F)
           orelse C == 16#06DD
  
positive.code: 
  %% @doc Return true if the given character is inappropriate for canonical representation
  %% as defined by https://tools.ietf.org/html/rfc3454#appendix-C.7
  is_inappropriate_for_canonical_representation_char(C) ->
      16#2FF0 =< C andalso C =< 16#2FFB.
  
  %% @doc Return true if the given character is change display properties or deprecated
  %% characters as defined by https://tools.ietf.org/html/rfc3454#appendix-C.8
  is_change_display_properties_or_deprecated_char(C) ->
      C == 16#0340
          orelse C == 16#0341
  
negative.code: 
  %% @doc Return true if the given character is a tagging character as defined by
  %% https://tools.ietf.org/html/rfc3454#appendix-C.9
  -spec is_tagging_char(char()) -> boolean().
  is_tagging_char(C) ->
      C == 16#E0001 orelse
          (16#E0020 =< C andalso C =< 16#E007F).
  