]> git.scottworley.com Git - paperdoorknob/commitdiff
renderIcon makes bytes
authorScott Worley <scottworley@scottworley.com>
Sun, 31 Dec 2023 07:45:12 +0000 (23:45 -0800)
committerScott Worley <scottworley@scottworley.com>
Sun, 31 Dec 2023 09:35:45 +0000 (01:35 -0800)
glowfic.py

index e192646b431c89b1ea2b32fdd72025f7056f905f..065c71523cb1ae71b1b3da0dc9686c6ce540fc0e 100644 (file)
@@ -99,9 +99,11 @@ def makeChunk(chunk_dom: Tag, image_store: ImageStore) -> Chunk:
                  content)
 
 
-def renderIcon(icon_path: str | None, image_size: float) -> str | None:
-    params = f'width={image_size}mm,height={image_size}mm,keepaspectratio'
-    return f'\\includegraphics[{params}]{{{icon_path}}}' if icon_path else None
+def renderIcon(icon_path: str | None, image_size: float) -> bytes | None:
+    if icon_path is None:
+        return None
+    return b'\\includegraphics[width=%fmm,height=%fmm,keepaspectratio]{%s}' % (
+        image_size, image_size, icon_path.encode('UTF-8'))
 
 
 class Layout(ABC):
@@ -128,7 +130,7 @@ class BelowIconLayout(Layout):
 
     def renderChunk(self, chunk: Chunk) -> bytes:
         icon = renderIcon(chunk.icon, self._image_size)
-        meta = [icon.encode('UTF-8')] if icon else []
+        meta = [icon] if icon else []
         meta += [self._texifier.texify(x)
                  for x in [chunk.character, chunk.screen_name, chunk.author]
                  if x is not None]
@@ -189,6 +191,6 @@ class BesideIconLayout(Layout):
 \\strut
 
 ''' % (
-            icon.encode('UTF-8') if icon else b'',
+            icon if icon else b'',
             b'\\\\*'.join(self._texifier.texify(x) for x in meta if x is not None),
             self._texifier.texify(chunk.content))