diff --git a/twitter_text/parse_tweet.py b/twitter_text/parse_tweet.py
index ffa4f3e..db0d7cb 100644
--- a/twitter_text/parse_tweet.py
+++ b/twitter_text/parse_tweet.py
@@ -1,3 +1,4 @@
+import re
 import unicodedata
 from math import floor
 from typing import List, Dict
@@ -25,6 +26,10 @@ class ParsedResult:
         return attr.asdict(self)
 
 
+def convert_line_ending(string, to="\n"):
+    return re.sub(r'\r\n|\r|\n', to, string)
+
+
 def parse_tweet(text: str, options: dict = config['defaults']) -> ParsedResult:
     """
     Parse a Twitter text according to https://developer.twitter.com/en/docs/developer-utilities/twitter-text
@@ -106,7 +111,7 @@ def parse_tweet(text: str, options: dict = config['defaults']) -> ParsedResult:
     emoji_parsing_enabled = options['emoji_parsing_enabled']
     max_weighted_tweet_length = options['max_weighted_tweet_length']
 
-    normalized_text = unicodedata.normalize('NFC', text)
+    normalized_text = convert_line_ending(unicodedata.normalize('NFC', text))
 
     url_entities_map = transform_entities_to_hash(extract_urls_with_indices(normalized_text))
     emoji_entities_map = transform_entities_to_hash(extract_emojis_with_indices(normalized_text))

diff --git a/tests/cases/added.yml b/tests/cases/added.yml
index b20b36d..1391e2f 100644
--- a/tests/cases/added.yml
+++ b/tests/cases/added.yml
@@ -6,6 +6,16 @@ tests:
         - url: "https://t.co/slug"
           indices: [0, 17]
   ParseTweet:
+    - description: "CRLF character"
+      text: "a\r\nb"
+      expected:
+        weightedLength: 3
+        valid: true
+        permillage: 10
+        displayRangeStart: 0
+        displayRangeEnd: 3
+        validRangeStart: 0
+        validRangeEnd: 3
     - description: "A URL containing emojis"
       text: "https://😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷😷.jp"
       expected:

[Bug] "\r\n" を2文字としてカウントするバグ
Tweet API を使用していて、ツイッターをブラウザで開いてツイートできる文字数なのに、parse_tweet関数を使用すると文字数オーバーとなる奇妙な現象に遭遇・・・。

おそらく"\r" を改行として取得できていません。
以下のテストコードを見て下さい。

```
from twitter_text import parse_tweet

text1 = '''abc
def
ghi'''
print(text1)
print(parse_tweet(text1))
print()

text2 = 'abc\ndef\nghi'
print(text2)
print(parse_tweet(text2))
print()

text3 = 'abc\rdef\rghi'
print(text3)
print(parse_tweet(text3))
print()

text4 = 'abc\r\ndef\r\nghi'
print(text4)
print(parse_tweet(text4))
```

結果は次のようになります。
```
abc
def
ghi
ParsedResult(valid=True, weightedLength=11, permillage=39, validRangeStart=0, validRangeEnd=10, displayRangeStart=0, displayRangeEnd=10)

abc
def
ghi
ParsedResult(valid=True, weightedLength=11, permillage=39, validRangeStart=0, validRangeEnd=10, displayRangeStart=0, displayRangeEnd=10)

ghi
ParsedResult(valid=True, weightedLength=11, permillage=39, validRangeStart=0, validRangeEnd=10, displayRangeStart=0, displayRangeEnd=10)

abc
def
ghi
ParsedResult(valid=True, weightedLength=13, permillage=46, validRangeStart=0, validRangeEnd=12, displayRangeStart=0, displayRangeEnd=12)
```
改行文字を1文字として取得しているならば、
"weightedLength=11"が正しく、それ以外は間違っています。
修正して下さい。
tests/test_added.py::test_added_parse_tweet[CRLF
tests/test_conformance.py::test_extract_urls[DO tests/test_conformance.py::test_extract_urls[Extract tests/test_conformance.py::test_tlds_country[bb tests/test_conformance.py::test_extract_urls_with_directional_markers[Extract tests/test_conformance.py::test_tlds_country[cl tests/test_conformance.py::test_tlds_country[uy tests/test_conformance.py::test_tlds_country[ee tests/test_conformance.py::test_tlds_country[ru tests/test_conformance.py::test_tlds_country[ai tests/test_conformance.py::test_tlds_country[nz tests/test_conformance.py::test_tlds_country[nf tests/test_conformance.py::test_tlds_country[la tests/test_conformance.py::test_tlds_country[cx tests/test_conformance.py::test_tlds_country[\u0639\u0645\u0627\u0646 tests/test_conformance.py::test_extract_urls_with_indices[Extract tests/test_conformance.py::test_tlds_country[mz tests/test_conformance.py::test_tlds_country[bv tests/test_conformance.py::test_tlds_country[fo tests/test_conformance.py::test_tlds_country[pe tests/test_conformance.py::test_tlds_country[mt tests/test_conformance.py::test_tlds_country[ws tests/test_conformance.py::test_tlds_country[ca tests/test_conformance.py::test_tlds_country[gy tests/test_conformance.py::test_tlds_country[fk tests/test_conformance.py::test_tlds_country[lb tests/test_conformance.py::test_tlds_country[mr tests/test_conformance.py::test_tlds_country[ua tests/test_conformance.py::test_tlds_country[cc tests/test_conformance.py::test_tlds_country[ne tests/test_conformance.py::test_tlds_country[cr tests/test_conformance.py::test_tlds_country[\u0633\u0648\u062f\u0627\u0646 tests/test_conformance.py::test_tlds_country[\u0b87\u0bb2\u0b99\u0bcd\u0b95\u0bc8 tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Unicode tests/test_conformance.py::test_tlds_country[tg tests/test_conformance.py::test_tlds_country[py tests/test_conformance.py::test_tlds_country[ly tests/test_conformance.py::test_tlds_country[\u067e\u0627\u06a9\u0633\u062a\u0627\u0646 tests/test_conformance.py::test_tlds_country[fj tests/test_conformance.py::test_tlds_country[nl tests/test_conformance.py::test_tlds_country[br tests/test_conformance.py::test_tlds_country[\u0440\u0444 tests/test_conformance.py::test_tlds_country[sn tests/test_conformance.py::test_tlds_country[hu tests/test_conformance.py::test_tlds_country[za tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[10 tests/test_conformance.py::test_tlds_country[ht tests/test_conformance.py::test_tlds_country[bj tests/test_conformance.py::test_tlds_country[kp tests/test_conformance.py::test_tlds_country[ug tests/test_conformance.py::test_tlds_country[al tests/test_conformance.py::test_tlds_country[gp tests/test_conformance.py::test_tlds_country[gf tests/test_conformance.py::test_validate_unicode_directional_marker_counter_test[Tweet tests/test_conformance.py::test_tlds_country[\u4e2d\u570b tests/test_conformance.py::test_tlds_country[tv tests/test_conformance.py::test_tlds_country[\u0d2d\u0d3e\u0d30\u0d24\u0d02 tests/test_conformance.py::test_tlds_country[bg tests/test_conformance.py::test_tlds_country[bw tests/test_conformance.py::test_tlds_country[re tests/test_conformance.py::test_tlds_country[bn tests/test_conformance.py::test_tlds_country[\u0627\u0644\u0633\u0639\u0648\u062f\u064a\u0629 tests/test_conformance.py::test_tlds_country[ac tests/test_conformance.py::test_tlds_country[kn tests/test_conformance.py::test_tlds_country[vc tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Count tests/test_conformance.py::test_tlds_country[\ud55c\uad6d tests/test_conformance.py::test_tlds_country[gi tests/test_conformance.py::test_tlds_country[cv tests/test_conformance.py::test_tlds_country[ni tests/test_conformance.py::test_tlds_country[pf tests/test_conformance.py::test_tlds_country[ki tests/test_conformance.py::test_tlds_country[ms tests/test_conformance.py::test_tlds_country[\u0431\u0433 tests/test_conformance.py::test_tlds_country[km tests/test_conformance.py::test_tlds_country[np tests/test_conformance.py::test_tlds_country[\u0b87\u0ba8\u0bcd\u0ba4\u0bbf\u0baf\u0bbe tests/test_conformance.py::test_tlds_country[ar tests/test_conformance.py::test_tlds_country[sm tests/test_conformance.py::test_tlds_country[vg tests/test_conformance.py::test_tlds_country[yt tests/test_conformance.py::test_extract_tco_urls_with_params[Extract tests/test_conformance.py::test_tlds_country[cy tests/test_conformance.py::test_tlds_country[eh tests/test_conformance.py::test_tlds_country[ng tests/test_conformance.py::test_tlds_country[sr tests/test_conformance.py::test_tlds_country[mh tests/test_conformance.py::test_tlds_country[lc tests/test_conformance.py::test_tlds_country[\u6fb3\u9580 tests/test_conformance.py::test_tlds_country[na tests/test_conformance.py::test_tlds_country[me tests/test_conformance.py::test_tlds_country[pw tests/test_conformance.py::test_tlds_country[\u043c\u043a\u0434 tests/test_conformance.py::test_tlds_country[\u049b\u0430\u0437 tests/test_conformance.py::test_tlds_country[\u0e44\u0e17\u0e22 tests/test_conformance.py::test_tlds_country[ag tests/test_conformance.py::test_tlds_country[tf tests/test_conformance.py::test_tlds_country[gw tests/test_conformance.py::test_tlds_country[mf tests/test_conformance.py::test_tlds_country[sy tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Handle tests/test_conformance.py::test_tlds_country[au tests/test_conformance.py::test_tlds_country[pg tests/test_conformance.py::test_tlds_country[\u09ac\u09be\u0982\u09b2\u09be tests/test_conformance.py::test_tlds_country[\u043c\u043e\u043d tests/test_conformance.py::test_tlds_country[kh tests/test_conformance.py::test_tlds_country[gn tests/test_conformance.py::test_tlds_country[no tests/test_conformance.py::test_tlds_country[de tests/test_conformance.py::test_tlds_country[tm tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[282 tests/test_conformance.py::test_tlds_country[mu tests/test_conformance.py::test_tlds_country[bo tests/test_conformance.py::test_tlds_country[\u092d\u093e\u0930\u0924 tests/test_conformance.py::test_tlds_country[\u0441\u0440\u0431 tests/test_conformance.py::test_tlds_country[bq tests/test_conformance.py::test_tlds_country[by tests/test_conformance.py::test_tlds_country[iq tests/test_conformance.py::test_tlds_country[aq tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Do tests/test_conformance.py::test_tlds_country[\u0dbd\u0d82\u0d9a\u0dcf tests/test_conformance.py::test_tlds_country[eg tests/test_conformance.py::test_tlds_country[be tests/test_conformance.py::test_tlds_country[io tests/test_conformance.py::test_tlds_country[mw tests/test_conformance.py::test_tlds_country[pl tests/test_conformance.py::test_tlds_country[in tests/test_conformance.py::test_tlds_country[nu tests/test_conformance.py::test_tlds_country[\u0b9a\u0bbf\u0b99\u0bcd\u0b95\u0baa\u0bcd\u0baa\u0bc2\u0bb0\u0bcd tests/test_conformance.py::test_tlds_country[mm tests/test_conformance.py::test_tlds_country[cd tests/test_conformance.py::test_tlds_country[ad tests/test_conformance.py::test_tlds_country[sz tests/test_conformance.py::test_tlds_country[li tests/test_conformance.py::test_tlds_country[\u9999\u6e2f tests/test_conformance.py::test_tlds_country[dm tests/test_conformance.py::test_tlds_country[\u0633\u0648\u0631\u064a\u0629 tests/test_conformance.py::test_tlds_country[cf tests/test_conformance.py::test_tlds_country[ps tests/test_conformance.py::test_tlds_country[\u0b2d\u0b3e\u0b30\u0b24 tests/test_conformance.py::test_tlds_country[md tests/test_conformance.py::test_tlds_country[it tests/test_conformance.py::test_tlds_country[sb tests/test_conformance.py::test_tlds_country[\u0641\u0644\u0633\u0637\u064a\u0646 tests/test_conformance.py::test_tlds_country[sh tests/test_conformance.py::test_tlds_country[\u0627\u0644\u0627\u0631\u062f\u0646 tests/test_conformance.py::test_tlds_country[rs tests/test_conformance.py::test_tlds_country[sv tests/test_conformance.py::test_tlds_country[vu tests/test_conformance.py::test_tlds_country[at tests/test_conformance.py::test_tlds_country[tw tests/test_conformance.py::test_tlds_country[jm tests/test_conformance.py::test_tlds_country[mn tests/test_conformance.py::test_tlds_country[tt tests/test_conformance.py::test_tlds_country[tc tests/test_conformance.py::test_tlds_country[\u0435\u044e tests/test_conformance.py::test_tlds_country[va tests/test_conformance.py::test_tlds_country[ml tests/test_conformance.py::test_tlds_country[mc tests/test_conformance.py::test_tlds_country[\u0680\u0627\u0631\u062a tests/test_conformance.py::test_tlds_country[rw tests/test_conformance.py::test_validate_unicode_directional_marker_counter_test[Handle tests/test_conformance.py::test_tlds_country[eu tests/test_conformance.py::test_tlds_country[ge tests/test_conformance.py::test_tlds_country[\u092d\u093e\u0930\u094b\u0924 tests/test_conformance.py::test_tlds_country[uk tests/test_conformance.py::test_tlds_country[\u4e2d\u56fd tests/test_conformance.py::test_tlds_country[pr tests/test_conformance.py::test_tlds_country[cn tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[160 tests/test_conformance.py::test_tlds_country[\u0cad\u0cbe\u0cb0\u0ca4 tests/test_conformance.py::test_tlds_country[\u0431\u0435\u043b tests/test_conformance.py::test_tlds_country[bi tests/test_conformance.py::test_tlds_country[ga tests/test_conformance.py::test_tlds_country[bl tests/test_conformance.py::test_tlds_country[hk tests/test_conformance.py::test_tlds_country[kz tests/test_conformance.py::test_tlds_country[gq tests/test_conformance.py::test_tlds_country[gb tests/test_conformance.py::test_tlds_country[ec tests/test_conformance.py::test_tlds_country[do tests/test_conformance.py::test_tlds_country[\u0627\u0644\u062c\u0632\u0627\u0626\u0631 tests/test_conformance.py::test_tlds_country[cu tests/test_conformance.py::test_tlds_country[bd tests/test_conformance.py::test_tlds_country[bs tests/test_conformance.py::test_tlds_country[az tests/test_conformance.py::test_tlds_country[qa tests/test_conformance.py::test_tlds_country[\u0627\u06cc\u0631\u0627\u0646 tests/test_conformance.py::test_tlds_country[je tests/test_conformance.py::test_tlds_country[fi tests/test_conformance.py::test_tlds_country[fm tests/test_conformance.py::test_tlds_country[aw tests/test_conformance.py::test_tlds_country[tp tests/test_conformance.py::test_tlds_country[gl tests/test_conformance.py::test_tlds_country[\u0628\u06be\u0627\u0631\u062a tests/test_conformance.py::test_tlds_country[\u0a2d\u0a3e\u0a30\u0a24 tests/test_conformance.py::test_tlds_country[am tests/test_conformance.py::test_tlds_country[mx tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Allow tests/test_conformance.py::test_tlds_country[\u0639\u0631\u0627\u0642 tests/test_conformance.py::test_tlds_country[mo tests/test_conformance.py::test_tlds_country[tk tests/test_conformance.py::test_tlds_country[gd tests/test_conformance.py::test_tlds_country[kw tests/test_conformance.py::test_tlds_country[\u0627\u0645\u0627\u0631\u0627\u062a tests/test_conformance.py::test_tlds_country[\u0aad\u0abe\u0ab0\u0aa4 tests/test_conformance.py::test_tlds_country[so tests/test_conformance.py::test_tlds_country[\u0642\u0637\u0631 tests/test_conformance.py::test_tlds_country[hr tests/test_conformance.py::test_tlds_country[tl tests/test_conformance.py::test_tlds_country[ci tests/test_conformance.py::test_tlds_country[dk tests/test_conformance.py::test_tlds_country[pt tests/test_conformance.py::test_tlds_country[vn tests/test_conformance.py::test_tlds_country[gg tests/test_conformance.py::test_tlds_country[zm tests/test_conformance.py::test_tlds_country[lv tests/test_conformance.py::test_extract_urls_with_indices[Properly tests/test_conformance.py::test_tlds_country[sg tests/test_conformance.py::test_tlds_country[ck tests/test_conformance.py::test_tlds_country[my tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Long tests/test_conformance.py::test_tlds_country[sc tests/test_conformance.py::test_tlds_country[bh tests/test_conformance.py::test_tlds_country[lk tests/test_conformance.py::test_tlds_country[lr tests/test_conformance.py::test_tlds_country[ls tests/test_conformance.py::test_tlds_country[ma tests/test_conformance.py::test_tlds_country[\u0c2d\u0c3e\u0c30\u0c24\u0c4d tests/test_conformance.py::test_tlds_country[nc tests/test_conformance.py::test_tlds_country[ph tests/test_conformance.py::test_tlds_country[gh tests/test_conformance.py::test_tlds_country[es tests/test_conformance.py::test_tlds_country[nr tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Just tests/test_conformance.py::test_tlds_country[ye tests/test_conformance.py::test_tlds_country[gu tests/test_conformance.py::test_tlds_country[jp tests/test_conformance.py::test_tlds_country[\u0627\u0644\u0645\u063a\u0631\u0628 tests/test_conformance.py::test_tlds_country[mq tests/test_conformance.py::test_tlds_country[cw tests/test_conformance.py::test_tlds_country[co tests/test_conformance.py::test_tlds_country[\u09ad\u09be\u09b0\u09a4 tests/test_conformance.py::test_tlds_country[pn tests/test_conformance.py::test_tlds_country[tj tests/test_conformance.py::test_tlds_country[hm tests/test_conformance.py::test_tlds_country[as tests/test_conformance.py::test_tlds_country[cz tests/test_conformance.py::test_tlds_country[\u53f0\u7063 tests/test_conformance.py::test_tlds_country[ve tests/test_conformance.py::test_tlds_country[sx tests/test_conformance.py::test_tlds_country[ss tests/test_conformance.py::test_tlds_country[si tests/test_conformance.py::test_tlds_country[sl tests/test_conformance.py::test_tlds_country[\u0628\u0627\u0631\u062a tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[140 tests/test_conformance.py::test_tlds_country[et tests/test_conformance.py::test_tlds_country[om tests/test_conformance.py::test_tlds_country[su tests/test_conformance.py::test_tlds_country[ch tests/test_conformance.py::test_tlds_country[pm tests/test_conformance.py::test_tlds_country[sa tests/test_conformance.py::test_tlds_country[tz tests/test_conformance.py::test_tlds_country[\u09ad\u09be\u09f0\u09a4 tests/test_conformance.py::test_tlds_country[\u0645\u0635\u0631 tests/test_conformance.py::test_tlds_country[bz tests/test_conformance.py::test_tlds_country[ke tests/test_conformance.py::test_tlds_country[\u03b5\u03bb tests/test_conformance.py::test_tlds_country[fr tests/test_conformance.py::test_tlds_country[um tests/test_conformance.py::test_tlds_country[an tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[Regular tests/test_conformance.py::test_tlds_country[kg tests/test_conformance.py::test_tlds_country[tn tests/test_conformance.py::test_tlds_country[\u65b0\u52a0\u5761 tests/test_conformance.py::test_tlds_country[im tests/test_conformance.py::test_tlds_country[lu tests/test_conformance.py::test_tlds_country[er tests/test_conformance.py::test_tlds_country[sj tests/test_conformance.py::test_tlds_country[ao tests/test_conformance.py::test_tlds_country[\u53f0\u6e7e tests/test_conformance.py::test_tlds_country[mp tests/test_conformance.py::test_tlds_country[sd tests/test_conformance.py::test_tlds_country[gs tests/test_conformance.py::test_tlds_country[jo tests/test_conformance.py::test_tlds_country[tr tests/test_conformance.py::test_tlds_country[pk tests/test_conformance.py::test_tlds_country[mg tests/test_conformance.py::test_tlds_country[cm tests/test_conformance.py::test_tlds_country[se tests/test_conformance.py::test_tlds_country[gt tests/test_conformance.py::test_tlds_country[\u062a\u0648\u0646\u0633 tests/test_conformance.py::test_tlds_country[td tests/test_conformance.py::test_tlds_country[vi tests/test_conformance.py::test_tlds_country[th tests/test_conformance.py::test_tlds_country[af tests/test_conformance.py::test_tlds_country[bm tests/test_conformance.py::test_tlds_country[ir tests/test_conformance.py::test_tlds_country[uz tests/test_conformance.py::test_tlds_country[\u0645\u0644\u064a\u0633\u064a\u0627 tests/test_conformance.py::test_tlds_country[zw tests/test_conformance.py::test_tlds_country[il tests/test_conformance.py::test_tlds_country[sk tests/test_conformance.py::test_validate_weighted_tweets_with_discounted_emoji_counter_test[3 tests/test_conformance.py::test_tlds_country[to tests/test_conformance.py::test_tlds_country[mv tests/test_conformance.py::test_tlds_country[ro tests/test_conformance.py::test_tlds_country[st tests/test_conformance.py::test_tlds_country[\u0443\u043a\u0440 tests/test_conformance.py::test_tlds_country[dj tests/test_conformance.py::test_tlds_country[gr tests/test_conformance.py::test_tlds_country[ax tests/test_conformance.py::test_tlds_country[ie tests/test_conformance.py::test_tlds_country[wf tests/test_conformance.py::test_tlds_country[\u092d\u093e\u0930\u0924\u092e\u094d tests/test_conformance.py::test_tlds_country[ky tests/test_conformance.py::test_tlds_country[lt tests/test_conformance.py::test_tlds_country[bt tests/test_conformance.py::test_tlds_country[id tests/test_conformance.py::test_tlds_country[cg tests/test_conformance.py::test_tlds_country[us tests/test_conformance.py::test_tlds_country[dz tests/test_conformance.py::test_tlds_country[\u0570\u0561\u0575 tests/test_conformance.py::test_tlds_country[mk tests/test_conformance.py::test_tlds_country[is tests/test_conformance.py::test_tlds_country[kr tests/test_conformance.py::test_tlds_country[bf tests/test_conformance.py::test_tlds_country[ba tests/test_conformance.py::test_tlds_country[pa tests/test_conformance.py::test_tlds_country[\u10d2\u10d4 tests/test_conformance.py::test_tlds_country[gm tests/test_conformance.py::test_tlds_country[hn tests/test_conformance.py::test_tlds_country[ae tests/test_added.py::test_added_parse_tweet[A tests/test_added.py::test_added_parse_tweet[Hangul tests/test_added.py::test_added_parse_tweet[One tests/test_added.py::test_added_extract_urls_with_indices[t.co