playscii/formats/out_txt.py

31 lines
1.1 KiB
Python

from art_export import ArtExporter
class TextExporter(ArtExporter):
format_name = "Plain text"
format_description = """
ASCII art in ordinary text format.
Assumes single frame, single layer document.
Current character set will be used; make sure it supports
any extended characters you want translated.
"""
file_extension = "txt"
def run_export(self, out_filename, options):
# utf-8 is safest encoding to use here, but non-default on Windows
outfile = open(out_filename, "w", encoding="utf-8")
for y in range(self.art.height):
for x in range(self.art.width):
char = self.art.get_char_index_at(0, 0, x, y)
found_char = False
for k, v in self.art.charset.char_mapping.items():
if v == char:
found_char = True
outfile.write(k)
break
# if char not found, just write a blank space
if not found_char:
outfile.write(" ")
outfile.write("\n")
outfile.close()
return True