Skip to content

Commit

Permalink
Version bump
Browse files Browse the repository at this point in the history
  • Loading branch information
JuanPotato committed Aug 13, 2017
1 parent ed957a5 commit 119be73
Show file tree
Hide file tree
Showing 2 changed files with 40 additions and 20 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
*.otf
*.ttf
58 changes: 38 additions & 20 deletions gen_tofu.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ def irange(start, end=None):
return range(start, end+1)

def main():
MAGIC_PADDING = 1/94 * 1000

parser = argparse.ArgumentParser(description='Generate Tofu font.')

parser.add_argument('start', metavar='Start', type=str, nargs='?',
Expand All @@ -28,9 +26,27 @@ def main():

parser.add_argument('-t', '--ttf', action='store_true',
help='output to an ttf file rather than otf')

parser.add_argument('--release', action='store_true',
help='generate release fonts for plane 0 and 1')

args = parser.parse_args()


# release overrides everything because why not
if args.release:
print("Generating release fonts")

print("Generating Plane 0")
generate_font(irange(0, 65533), 65534,
'tofu_plane_0.otf', fontname='TofuPlane0', fullname='Tofu Plane 0')

print("Generating Plane 1")
generate_font(irange(65536, 65536 + 65533), 65534,
'tofu_plane_1.otf', fontname='TofuPlane1', fullname='Tofu Plane 1')

return

if args.file and (args.start or args.end):
print('Only pass a file or a range')
exit(2)
Expand Down Expand Up @@ -93,25 +109,34 @@ def main():
char_range = irange(start, end)
print('Generating Tofu for unicode characters between U+{} and U+{}'.format(start_str, end_str))

# return
try:
fullname = 'Tofu {} - {}'.format(start_str, end_str)
except:
fullname = 'Tofu'

font = fontforge.font() # create a new font
font.familyname = 'Tofu'
font.fontname = 'Tofu'

try:
font.fullname = 'Tofu {} - {}'.format(start_str, end_str)
save_name = 'tofu_{}_{}.{}'.format(start_str, end_str, 'ttf' if args.ttf else 'otf')
except:
font.fullname = 'Tofu'

save_name = 'tofu.{}'.format('ttf' if args.ttf else 'otf')

generate_font(char_range, char_range_len, save_name, fullname=fullname)


def generate_font(glyphs, glyphs_len, save_name, fontname='Tofu', fullname='Tofu'):
MAGIC_PADDING = 1/94 * 1000

font = fontforge.font() # create a new font
font.familyname = 'Tofu'
font.fontname = fontname
font.fullname = fullname
font.comment = 'The complete opposite of a font'
font.version = '0.1'
font.version = '0.2'
font.copyright = open('FONT_LICENSE', 'r').read()

progressbar.streams.wrap_stderr()

with progressbar.ProgressBar(redirect_stdout=True, max_value=char_range_len) as bar:
for i,c in enumerate(char_range):
with progressbar.ProgressBar(redirect_stdout=True, max_value=glyphs_len) as bar:
for i,c in enumerate(glyphs):
bar.update(i)

codepoint = hex(c)[2:].upper()
Expand All @@ -125,16 +150,9 @@ def main():

os.remove('tofu.svg')

try:
save_name = 'tofu_{}_{}.{}'.format(start_str, end_str, 'ttf' if args.ttf else 'otf')
except:
save_name = 'tofu.{}'.format('ttf' if args.ttf else 'otf')

print('Saving as {}'.format(save_name))
font.generate(save_name)



char_template = '<path d="{}"/>'
chars_d = { # these are all paths to make the character associated. I made them
'0':'v40h24v-40zm8,8h8v24h-8z',
Expand Down

0 comments on commit 119be73

Please sign in to comment.