mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-09 03:04:10 -04:00
Improve hard line break handling in RTF
This commit is contained in:
parent
6e831360a2
commit
ff8d8968ef
@ -51,7 +51,6 @@ class Inline:
|
|||||||
'tx<ut<__________' : self.__found_text_func,
|
'tx<ut<__________' : self.__found_text_func,
|
||||||
'mi<mk<inline-fld' : self.__found_text_func,
|
'mi<mk<inline-fld' : self.__found_text_func,
|
||||||
'text' : self.__found_text_func,
|
'text' : self.__found_text_func,
|
||||||
'cw<nu<hard-lineb' : self.__found_text_func, #calibre
|
|
||||||
'cb<nu<clos-brack' : self.__close_bracket_func,
|
'cb<nu<clos-brack' : self.__close_bracket_func,
|
||||||
'mi<mk<par-end___' : self.__end_para_func,
|
'mi<mk<par-end___' : self.__end_para_func,
|
||||||
'mi<mk<footnt-ope' : self.__end_para_func,
|
'mi<mk<footnt-ope' : self.__end_para_func,
|
||||||
@ -63,7 +62,6 @@ class Inline:
|
|||||||
'tx<hx<__________' : self.__found_text_func,
|
'tx<hx<__________' : self.__found_text_func,
|
||||||
'tx<ut<__________' : self.__found_text_func,
|
'tx<ut<__________' : self.__found_text_func,
|
||||||
'text' : self.__found_text_func,
|
'text' : self.__found_text_func,
|
||||||
'cw<nu<hard-lineb' : self.__found_text_func, #calibre
|
|
||||||
'mi<mk<inline-fld' : self.__found_text_func,
|
'mi<mk<inline-fld' : self.__found_text_func,
|
||||||
'ob<nu<open-brack': self.__found_open_bracket_func,
|
'ob<nu<open-brack': self.__found_open_bracket_func,
|
||||||
'mi<mk<par-end___' : self.__end_para_func,
|
'mi<mk<par-end___' : self.__end_para_func,
|
||||||
@ -257,7 +255,6 @@ class Inline:
|
|||||||
Text can mark the start of a paragraph.
|
Text can mark the start of a paragraph.
|
||||||
If already in a paragraph, check to see if any groups are waiting
|
If already in a paragraph, check to see if any groups are waiting
|
||||||
to be added. If so, use another method to write these groups.
|
to be added. If so, use another method to write these groups.
|
||||||
3. If not check if hardline break, then write
|
|
||||||
"""
|
"""
|
||||||
if self.__place == 'in_list':
|
if self.__place == 'in_list':
|
||||||
self.__write_inline()
|
self.__write_inline()
|
||||||
@ -265,10 +262,7 @@ class Inline:
|
|||||||
if not self.__in_para:
|
if not self.__in_para:
|
||||||
self.__in_para = 1
|
self.__in_para = 1
|
||||||
self.__start_para_func(line)
|
self.__start_para_func(line)
|
||||||
else:
|
elif self.__groups_in_waiting[0] != 0:
|
||||||
if self.__token_info == 'cw<nu<hard-lineb': #calibre
|
|
||||||
self.__write_obj.write('mi<tg<empty_____<hardline-break\n')
|
|
||||||
if self.__groups_in_waiting[0] != 0:
|
|
||||||
self.__write_inline()
|
self.__write_inline()
|
||||||
|
|
||||||
def __write_inline(self):
|
def __write_inline(self):
|
||||||
|
@ -70,6 +70,7 @@ class ProcessTokens:
|
|||||||
';' : ('mc', ';', self.ms_sub_func),
|
';' : ('mc', ';', self.ms_sub_func),
|
||||||
# this must be wrong
|
# this must be wrong
|
||||||
'-' : ('mc', '-', self.ms_sub_func),
|
'-' : ('mc', '-', self.ms_sub_func),
|
||||||
|
'line' : ('mi', 'hardline-break', self.hardline_func), #calibre
|
||||||
# misc => ml
|
# misc => ml
|
||||||
'*' : ('ml', 'asterisk__', self.default_func),
|
'*' : ('ml', 'asterisk__', self.default_func),
|
||||||
':' : ('ml', 'colon_____', self.default_func),
|
':' : ('ml', 'colon_____', self.default_func),
|
||||||
@ -77,7 +78,6 @@ class ProcessTokens:
|
|||||||
'backslash' : ('nu', '\\', self.text_func),
|
'backslash' : ('nu', '\\', self.text_func),
|
||||||
'ob' : ('nu', '{', self.text_func),
|
'ob' : ('nu', '{', self.text_func),
|
||||||
'cb' : ('nu', '}', self.text_func),
|
'cb' : ('nu', '}', self.text_func),
|
||||||
'line' : ('nu', 'hard-lineb', self.default_func), #calibre
|
|
||||||
#'line' : ('nu', ' ', self.text_func), calibre
|
#'line' : ('nu', ' ', self.text_func), calibre
|
||||||
# paragraph formatting => pf
|
# paragraph formatting => pf
|
||||||
'page' : ('pf', 'page-break', self.default_func),
|
'page' : ('pf', 'page-break', self.default_func),
|
||||||
@ -605,6 +605,9 @@ class ProcessTokens:
|
|||||||
def ms_sub_func(self, pre, token, num):
|
def ms_sub_func(self, pre, token, num):
|
||||||
return 'tx<mc<__________<%s\n' % token
|
return 'tx<mc<__________<%s\n' % token
|
||||||
|
|
||||||
|
def hardline_func(self, pre, token, num):
|
||||||
|
return 'mi<tg<empty_____<%s\n' % token
|
||||||
|
|
||||||
def default_func(self, pre, token, num):
|
def default_func(self, pre, token, num):
|
||||||
if num is None:
|
if num is None:
|
||||||
num = 'true'
|
num = 'true'
|
||||||
|
Loading…
x
Reference in New Issue
Block a user