{"id":13502483,"url":"https://github.com/rbanffy/3270font","last_synced_at":"2025-04-11T16:39:44.435Z","repository":{"id":4772039,"uuid":"5923403","full_name":"rbanffy/3270font","owner":"rbanffy","description":"A 3270 font in a modern format","archived":false,"fork":false,"pushed_at":"2024-10-03T11:23:52.000Z","size":16817,"stargazers_count":1747,"open_issues_count":24,"forks_count":71,"subscribers_count":34,"default_branch":"main","last_synced_at":"2024-10-29T15:39:25.359Z","etag":null,"topics":["font","font-files","fontforge","ibm","mainframe","programming-font","programming-fonts","sfd","typography"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rbanffy.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2012-09-23T15:36:01.000Z","updated_at":"2024-10-28T13:38:10.000Z","dependencies_parsed_at":"2023-11-11T23:19:11.084Z","dependency_job_id":"f261c97d-ccb5-49db-9d61-4d7799a64937","html_url":"https://github.com/rbanffy/3270font","commit_stats":{"total_commits":909,"total_committers":14,"mean_commits":64.92857142857143,"dds":0.09680968096809683,"last_synced_commit":"9aec667cb514472d37bf5fa202259c29fa587dc5"},"previous_names":[],"tags_count":38,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbanffy%2F3270font","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbanffy%2F3270font/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbanffy%2F3270font/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rbanffy%2F3270font/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rbanffy","download_url":"https://codeload.github.com/rbanffy/3270font/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248441909,"owners_count":21104100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["font","font-files","fontforge","ibm","mainframe","programming-font","programming-fonts","sfd","typography"],"created_at":"2024-07-31T22:02:15.454Z","updated_at":"2025-04-11T16:39:44.413Z","avatar_url":"https://github.com/rbanffy.png","language":"Python","funding_links":[],"categories":["Python"],"sub_categories":[],"readme":"3270font: A font for the nostalgic\n==================================\n\n![Travis-CI](https://api.travis-ci.org/rbanffy/3270font.svg)\n![Debian package](https://img.shields.io/debian/v/3270font/unstable)\n![Ubuntu package](https://img.shields.io/ubuntu/v/3270font)\n\n![Screenshot](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/emacs.png)\n\n![Sample](https://3270font.s3.amazonaws.com/3270_sample.gif)\n\nA little bit of history\n-----------------------\n\nThis font is derived from the x3270 font, which, in turn, was\ntranslated from the one in Georgia Tech's 3270tool, which was itself\nhand-copied from a 3270 series terminal. I built it because I felt\nterminals deserve to be pretty. The .sfd font file contains a x3270\nbitmap font that was used for guidance.\n\n![Using with the cool-old-tern (now cool-retro-term) terminal program](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/cool-retro-term.png)\n\nGetting it\n----------\n\nIf you are running Debian or Ubuntu and you don't want to mess with\nbuilding your font files, you can simply `apt-get install fonts-3270`\n(It's available from the Debian\n(https://packages.debian.org/sid/fonts/fonts-3270) and Ubuntu\n(http://packages.ubuntu.com/impish/fonts-3270) package repos at\nhttps://packages.debian.org/sid/fonts/fonts-3270 and\nhttps://packages.ubuntu.com/impish/fonts/fonts-3270, although the\npackaged version may not be the latest version, but it's good enough for\nmost purposes.\n\nOn FreeBSD the font can be installed with `pkg install 3270font`.\n\nFor those who don't have the luxury of a proper system-managed package,\nAdobe Type 1, TTF, OTF and WOFF versions are available for download on\nhttps://3270font.s3.amazonaws.com/3270_fonts_d916271.zip (although this\nURL may not always reflect the latest build or release).\n\n![ASCII is so 60's](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/cyrillic.png)\n\nThe format\n----------\n\nThe \"source\" file is edited using FontForge. You'll need it if you want\nto generate fonts for your platform. On most civilized operating\nsystems, you can simply `apt-get install fontforge`, `yum install\nfontforge` or even `port install fontforge`. On others, you may need to\ngrab your copy from https://fontforge.org/. I encourage you to drop by\nand read the tutorials.\n\n![Using it on OSX (don't forget to turn antialiasing on)](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/osx_terminal.png)\n\nIf you are running Windows, you'll probably need something like WSL or\nCygwin, but, in the end, the font works correctly (with some very minor\nhinting issues).\n\n![Works on Windows](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/windows_10.png)\n\nGenerating usable font files\n----------------------------\n\nThe easiest way to generate the font files your computer can use is to\nrun `make all` (if you are running Ubuntu or Debian, `make install` will\ninstall them too). Using `make help` will offer a handy list of options.\n\nThe script `generate_derived.pe` calls FontForge and generates\nPostScript, OTF, TTF and WOFF versions of the base font, as well as a\nslightly more condensed .sfd file with the base font narrowed to 488\nunits, with no glyph rescaling (or cropping - we need to fix that) and\nits corresponding PostScript, TTF, OTF and WOFF versions.\n\n![For your favorite editor](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/symbols.png)\n\nContributing\n------------\n\nI fear GitHub's pull-request mechanism may not be very\nFontForge-friendly. If you want to contribute (there are a lot of\nmissing glyphs, such as most non-latin alphabets which most likely were\nnever built into 3270 terminals), the best workflow would probably be to\nadd the encoding slots (if needed), add/make the changes, remove the\nunchanged glyphs and save it as a different file. If, in doubt, get in\ntouch and we will figure out how to do it right.\n\nIn order to generate the sample image and the grids for FontForge,\nyou'll need a Python 3 environment with PIL or pillow installed. The\nrequirements.txt file lists everything you need to do it.\n\nIf all you want is an easier way to provide feedback, you can use\na container runtime, Docker, Podman, and etc, and use these make targets:\n\n  - ```make image``` - builds a local image with ```fontforge``` and ```make```\n  - ```make generate``` -  uses the local container image to run ```make font```\n\n\nBuild Requirements\n------------------\n\nOn Debian derived distros, you'll need Fontforge and python3-dev. On Red\nHat ans similar distros, you'll need Fontforge and python3-devel. Since\nsome packages will need to be compiled, you'll need a build system (GNU\nMake, a C compiler, etc).\n\n\nScreenshots\n-----------\n\n![xterm](https://3270font.s3.amazonaws.com/xterm.png)\n\n![Gnome Terminal](\nhttps://3270font.s3.amazonaws.com/gnome-terminal.png)\n\n![Konsole](https://3270font.s3.amazonaws.com/konsole.png)\n\n![Terminator](https://3270font.s3.amazonaws.com/terminator.png)\n\n![urxvt](https://3270font.s3.amazonaws.com/urxvt.png)\n\nKnown problems\n--------------\n\nNot all symbols in the 3270 charset have Unicode counterparts. When\npossible, they are duplicated in the Unicode space. The 3270-only\nsymbols are at the end of the font, along with some glyphs useful for\nbuilding others.\n\nPlease refer to http://x3270.bgp.nu/Charset.html for a complete map.\n\nFuture improvements\n-------------------\n\nA grid generator is provided for producing various grid sizes for the\nfont. Those grids are not used yet, but they are intended to be used to\nalign font features to provide better rendering at common font size\nchoices. The captures below exemplify these choices:\n\n![x3270 with 32 pixel font (used as bitmap template for the font)](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/measurements_x3270_32.png)\n\n![x3270 with 20 pixel font](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/measurements_x3270_20.png)\n\n![Gnome Terminal on Ubuntu 17.10](\nhttps://raw.githubusercontent.com/wiki/rbanffy/3270font/measurements_gnome_terminal.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frbanffy%2F3270font","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frbanffy%2F3270font","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frbanffy%2F3270font/lists"}