From: Urban Wallasch Date: Thu, 17 Jun 2021 12:18:17 +0000 (+0200) Subject: * Added formatting support for EDICT2. Impact on EDICT entries should be negligible... X-Git-Tag: v0.1.0~119 X-Git-Url: https://git.packet-gain.de/?a=commitdiff_plain;h=8a8e4e99a02339c8bdd697132fc89b10964b232e;p=jiten-pai.git * Added formatting support for EDICT2. Impact on EDICT entries should be negligible (slightly larger line spacing). --- diff --git a/jiten-pai.py b/jiten-pai.py index e72dede..b5c2ed0 100755 --- a/jiten-pai.py +++ b/jiten-pai.py @@ -1126,6 +1126,8 @@ class jpMainWindow(QMainWindow): self.result_pane.setPlainText('Formatting...') QApplication.processEvents() re_term = re.compile(term, re.IGNORECASE) + re_entity = re.compile(r'EntL\d+X?; *$', re.IGNORECASE) + re_mark = re.compile(r'(\(.+?\))') nfmt = '
' % (cfg['nfont'], cfg['nfont_sz']) lfmt = '' % (cfg['lfont'], cfg['lfont_sz']) hlfmt = '' % cfg['hl_col'] @@ -1135,6 +1137,13 @@ class jpMainWindow(QMainWindow): grp = match.group(0) if org is None else org[match.span()[0]:match.span()[1]] return '%s%s' % (hlfmt, grp) for idx, res in enumerate(result): + # render edict2 priority markers in small font (headwords only) + res[0] = re_mark.sub(r'\1', res[0]) + # line break edict2 multi-headword entries + res[0] = res[0].replace(';', '
') + # for now just drop the edict2 entry number part, + # in future this could be used to e.g. link somewhere relevant + res[2] = re_entity.sub('', res[2]) # highlight matches if mode == ScanMode.JAP: res[0] = re_term.sub(lambda m: hl_repl(m, res[0]), kata2hira(res[0])) @@ -1142,7 +1151,7 @@ class jpMainWindow(QMainWindow): else: res[2] = re_term.sub(hl_repl, res[2]) # construct display line - html[idx+1] = '%s%s
%s %s
\n' % (lfmt, res[0], (' (%s)'%res[1] if len(res[1]) > 0 else ''), res[2]) + html[idx+1] = '

%s%s%s %s

\n' % (lfmt, res[0], (' (%s)'%res[1] if len(res[1]) > 0 else ''), res[2]) html[rlen + 1] = '
' self.result_pane.setHtml(''.join(html)) self.result_pane.setEnabled(True)