summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2014-09-20 12:18:16 +0200
committerGeorg Brandl <georg@python.org>2014-09-20 12:18:16 +0200
commitfa8a1b29cfbc035b9e80ae3a8ca8e38d9172f512 (patch)
tree86ee18e982a5ba3ea2bfa8486911a6953728824c
parentccc25791eb7bd31d2c90ff52a747973615e087e2 (diff)
downloadpygments-fa8a1b29cfbc035b9e80ae3a8ca8e38d9172f512.tar.gz
better not to use unicode_literals...
-rw-r--r--pygments/formatters/rtf.py53
1 files changed, 25 insertions, 28 deletions
diff --git a/pygments/formatters/rtf.py b/pygments/formatters/rtf.py
index de768ac1..ac786610 100644
--- a/pygments/formatters/rtf.py
+++ b/pygments/formatters/rtf.py
@@ -9,8 +9,6 @@
:license: BSD, see LICENSE for details.
"""
-from __future__ import unicode_literals
-
from pygments.formatter import Formatter
from pygments.util import get_int_opt, _surrogatepair
@@ -67,14 +65,14 @@ class RtfFormatter(Formatter):
self.fontsize = get_int_opt(options, 'fontsize', 0)
def _escape(self, text):
- return text.replace('\\', '\\\\') \
- .replace('{', '\\{') \
- .replace('}', '\\}')
+ return text.replace(u'\\', u'\\\\') \
+ .replace(u'{', u'\\{') \
+ .replace(u'}', u'\\}')
def _escape_text(self, text):
# empty strings, should give a small performance improvment
if not text:
- return ''
+ return u''
# escape text
text = self._escape(text)
@@ -87,22 +85,21 @@ class RtfFormatter(Formatter):
buf.append(str(c))
elif (2**7) <= cn < (2**16):
# single unicode escape sequence
- buf.append('{\\u%d}' % cn)
+ buf.append(u'{\\u%d}' % cn)
elif (2**16) <= cn:
# RTF limits unicode to 16 bits.
# Force surrogate pairs
- h,l = _surrogatepair(cn)
- buf.append('{\\u%d}{\\u%d}' % (h,l))
+ buf.append(u'{\\u%d}{\\u%d}' % _surrogatepair(cn))
- return ''.join(buf).replace('\n', '\\par\n')
+ return u''.join(buf).replace(u'\n', u'\\par\n')
def format_unencoded(self, tokensource, outfile):
# rtf 1.8 header
- outfile.write('{\\rtf1\\ansi\\uc0\\deff0'
- r'{\fonttbl{\f0\fmodern\fprq1\fcharset0%s;}}'
- r'{\colortbl;' % (self.fontface and
- ' ' + self._escape(self.fontface) or
- ''))
+ outfile.write(u'{\\rtf1\\ansi\\uc0\\deff0'
+ ur'{\fonttbl{\f0\fmodern\fprq1\fcharset0%s;}}'
+ ur'{\colortbl;' % (self.fontface and
+ u' ' + self._escape(self.fontface) or
+ u''))
# convert colors and save them in a mapping to access them later.
color_mapping = {}
@@ -111,15 +108,15 @@ class RtfFormatter(Formatter):
for color in style['color'], style['bgcolor'], style['border']:
if color and color not in color_mapping:
color_mapping[color] = offset
- outfile.write(r'\red%d\green%d\blue%d;' % (
+ outfile.write(ur'\red%d\green%d\blue%d;' % (
int(color[0:2], 16),
int(color[2:4], 16),
int(color[4:6], 16)
))
offset += 1
- outfile.write(r'}\f0 ')
+ outfile.write(ur'}\f0 ')
if self.fontsize:
- outfile.write(r'\fs%d' % (self.fontsize))
+ outfile.write(ur'\fs%d' % (self.fontsize))
# highlight stream
for ttype, value in tokensource:
@@ -128,23 +125,23 @@ class RtfFormatter(Formatter):
style = self.style.style_for_token(ttype)
buf = []
if style['bgcolor']:
- buf.append(r'\cb%d' % color_mapping[style['bgcolor']])
+ buf.append(ur'\cb%d' % color_mapping[style['bgcolor']])
if style['color']:
- buf.append(r'\cf%d' % color_mapping[style['color']])
+ buf.append(ur'\cf%d' % color_mapping[style['color']])
if style['bold']:
- buf.append(r'\b')
+ buf.append(ur'\b')
if style['italic']:
- buf.append(r'\i')
+ buf.append(ur'\i')
if style['underline']:
- buf.append('\\ul')
+ buf.append(u'\\ul')
if style['border']:
- buf.append(r'\chbrdr\chcfpat%d' %
+ buf.append(ur'\chbrdr\chcfpat%d' %
color_mapping[style['border']])
- start = ''.join(buf)
+ start = u''.join(buf)
if start:
- outfile.write('{%s ' % start)
+ outfile.write(u'{%s ' % start)
outfile.write(self._escape_text(value))
if start:
- outfile.write('}')
+ outfile.write(u'}')
- outfile.write('}')
+ outfile.write(u'}')