X-Git-Url: http://git.scottworley.com/paperdoorknob/blobdiff_plain/23dabdf5c5133e06fbc44763225cda1ab72e668e..ae7b6283ed5ead577d1a8f263d37d01717e2bb33:/glowfic.py diff --git a/glowfic.py b/glowfic.py index 76a9a84..d1966ca 100644 --- a/glowfic.py +++ b/glowfic.py @@ -136,7 +136,42 @@ class BelowIconLayout(Layout): \\strut +\\noindent %s +''' % ( + b'\\\\*'.join(x.encode('UTF-8') for x in meta if x is not None), + self._texifier.texify(chunk.content)) + + +class BesideIconLayout(Layout): + + def __init__(self, texifier: Texifier, image_size: float) -> None: + self._texifier = texifier + self._image_size = image_size + + def renderChunk(self, chunk: Chunk) -> bytes: + icon = renderIcon(chunk.icon, self._image_size) + meta = [ + chunk.character, + chunk.screen_name, + chunk.author, + ] + + # Why is \textwidth not the width of the text? + # Why is the width of the text .765\textwidth? + return b'''\\noindent\\fbox{ +%s +\\parbox[b]{.765\\textwidth}{ +\\begin{center} %s +\\end{center} +} +}\\\\* +\\vspace{-0.75em}\\\\* +\\noindent %s + +\\strut + ''' % ( + icon.encode('UTF-8') if icon else b'', b'\\\\*'.join(x.encode('UTF-8') for x in meta if x is not None), self._texifier.texify(chunk.content))