Code Monkey home page Code Monkey logo

typerip's Introduction

TypeRip Logo

The Adobe Fonts ripper.

How to use it

  1. Enter an Adobe Fonts font family or font collection URL into the address bar, then press enter.
  2. Browse the available fonts under this family, using the download button to save them to your machine.
  3. That's it.

Terms

  • Do not use any downloaded fonts for anything other than testing purposes. Think of it like a try-before-you-buy system. This tool merely saves a copy of what Adobe makes publicly available through their website, but this does not give you the legal right to use the fonts as if you have purchased a license. If you want to publish any work using these fonts, or do anything restricted to license-holders by said license, you must purchase a license through Adobe.

Whats new?

January 7th, 2024:

  • Complete rewrite using Vite, Vue components and other modern javascript practices.
  • Removed all OpenType.js-based font rebuilding as this wasn't working well and is no longer necessary because:
  • We now have access to the full-featured font file in WOFF2 format with no missing glyphs or broken kerning or anything thanks to research by Artellia.
  • Fonts are converted automatically from WOFF2 to TTF format in the browser before downloading for ease-of-installation as Windows does not natively support WOFF2.

May 5, 2021:

  • Typerip can now rip the entire available character set from any font. Big thanks to everyone that reported bugs and collected information on this issue.
  • Added the option to download fonts without processing. This is useful if your download hangs and/or crashes your browser. Downloading the fonts without processing will always work, but you will have to edit the fonts manually to change their names and ensure compatibility with your OS.

May 3, 2021:

  • Added the ability to read font collection URLs and download their contents as you would with a font family.
  • Added a "Download All" button to font families and collections, downloading a single zip of all the contents of the font pack.
  • Fonts now download as a ZIP archive.
  • Switched to a more consistent CORS proxy.

March 22, 2020:

  • Cosmetic fixes
  • Removed all references to "TypeKit", as Adobe has renamed the service to "Adobe Fonts"

March 9, 2020:

  • Fixed a bug in OpenType.js that would fail to re-encode some fonts.

Oct 21, 2019:

  • Rewrote entire application from scratch
  • New, cleaner and simpler user interface
  • Fonts are automatically repaired and renamed correctly

Screenshot

Screenshot #1

License

typerip.js is released under the WTFPL (http://www.wtfpl.net/)

typerip's People

Contributors

101arrowz avatar codezombie avatar mdbell avatar tungwoodboi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

typerip's Issues

Wouldn't these small changes be possible?

@CodeZombie With the new WOFF2 file creation system the file created is in fact an OTF with TTF extension.

  1. Wouldn't it be possible to change the *.TTF extension to *.OTF when writing files? (since it works anyway)

2.a PROBLEM! By downloading this font in particular: https://fonts.adobe.com/fonts/quasimoda
when I click on DOWNLOAD ALL on the site, the browser only downloads 10 files (in total that font family brings 22).
I believe that this problem needs to be reviewed and can also be combined with the subsequent request 2b.

2b. When you click on the DOWNLOAD ALL button all the files are downloaded individually, it would not be possible to download them in compressed format *.RAR / *.ZIP (FontName.rar) so when I decompress the rar file I do it in a folder with the name of the automatic fonts?

3a. Wouldn't it be possible to write just the font name in the search URL bar instead of the URL?

3b. Wouldn't it be possible for the url bar to actually become a search bar for fonts that are present on the site?

  1. It would not be possible (perhaps I think it would take too long) to download all the fonts on the site

Doesn't work with Japanese fonts

Japanese fonts appear as the browser default font in the preview, and if you download it you just get a file that says "bad request".

Network Error

Website is not working, throwing Network Error when putting in the link.

Different styles of the same font not working correctly.

Tried to install all of the Soleil family fonts but only the first one installed is showing up on Control Panel and programs (Photoshop). After deleting the font installed first the font installed second becomes available and so on.

  1. Both Fonts Installed, Soleil-Light-Italic the only one available
    Both Fonts Installed, Soleil-Light-Italic the only one available
  2. Deleting Soleil-Light-Italic
    Deleting Soleil-Light-Italic
  3. Soleil-Light Appears
    Soleil-Light Appears
    Tested this with other fonts and got the same issue.

Font style names still wrong - need to be same as style in font names

Font style names are wrong. Can't install whole family just part of random fonts. Font names are now fine and style names should be same as style from font name. For example: Condensed Bold Italic style appears as just Bold Italic (Condensed is missing). This means only one style can be activated and others will be missing, so just random parts of font will be activated.

A little poking around with URLs

did you know the letter used as the file name (just before the ?) makes a difference? there are a number of different permutations that are valid.

  • a=(hyphen name, install locked, ttf/otf)
  • m=(hash name, install locked, ttf/otf)
  • d=(right name, installable, woff wrap of ttf/otf)
  • i=(hyphen name, installable, eot)
  • j=(hash name, installable, ttf/otf)
  • l=(right name, installable, woff2 wrap of ttf/otf)
  • o=(exact same file as 'd')
  • p=(hyphen name, installable, ttf/otf)
    (I just went back and noticed some files come down as ttf, others otf, likely depending on what the actual serverside file is.)
    The "right name" as in the family name field in the font. Other name fields seem to be filled as originally intended ('d' & 'l')

I would definitely recommend using 'l' for all downloads. It seems to require no reprocessing at all.

"Hash" names look like a crypto hash. Hyphen names are just a dash. When downloading by hand 'd' would be offered as d.woff in the dialog box. When downloading via a webcopy app, it did not, but the program did pick up eot correctly, and decided to put bin on 'o'.

I'm attaching my download & record so you can see what sort of results I ran into. Though the record doesn't show it, I actually tried all letters, 'a' to 'z'. It only recorded downloaded files. Incidentally, 'n' returned a 500 error where all other missing letters returned a 404.

pf.zip
webcopy-origin.txt

EDIT: Just checked the 'l' file in TypeRip (Chrome Devtools' Override). Changed "a?" to "l?" and ".ttf" to ".woff2" in typerip.js, checked "Download without processing" and I get a ZIP full of WOFF2 files that open in FontLab 8 without errors and have correct internal name metadata and are not copyright/install locked. They can literally be taken straight from the ZIP and dumped in a Wordpress font folder for immediate use.

EDIT_2: I... um... I came across something interesting... Pop this into your browser bar: https://fonts.adobe.com/fonts.json
Note: Poked at this a bit, it takes query strings just like the /fonts page, including page numbers. Works exactly like a json version of the page.

Network Error

Failed to rip fonts. "Network Error".
Having read typerip.js, I tried to vist https://api.allorigins.win/raw?url={the font url}, and it showed a Cloudflare warning page saying:

Suspected Phishing

This website has been reported for potential phishing.
Phishing is when a site attempts to steal sensitive information by falsely presenting as a safe source.

And I had to click "Ignore & Proceed" to continue.
Perhaps that's the reason. Any method to ignore it automatically? Or any alternative contents pulling api?

Processing removes kerning and other font features

Processing removes all kerning data and other “lookup tables” from the font, effectively destroying the font as it will not render as the designer intended and will lack typographic features that the designer built into the original font.

Verified with http://badnoise.net/TypeRip/ pointed at https://fonts.adobe.com/fonts/vendetta and opening the downloaded font with FontForge v.20230101 on macOS 13.4 (22F66) Ventura (installed via Homebrew) ▸ menu Element ▸ Font attribute ▸ Lookups. If the font was downloaded without processing, there will be GSUP (ligatures, alternate glyphs…) and GPOS (kerning pairs) lookup tables; if it was downloaded with processing, there will be none.

Missing glyphs

It seems like every single Japanese font has missing glyphs, typically "一", very basic kanji meaning "one".

edit: Disabling the post-processing fixes the issue.

403 Error

Entering a the adobe font family link does not work anymore. Throws an 403.

"Failed to load resource: the server responded with a status of 403 (Forbidden)"

Only one weight/style per font can be installed at a time (Windows and Mac)

Tested on:
Windows 11 Pro
KB50030219 OS Build 22621.2283

Apple M1 MacBook Pro
MacOS Ventura 13.1

Symptoms:

Fonts download and install as expected. However, only the last font to be installed works.

For example, if I install 3 fonts; Arial Regular, Arial Bold and finally Arial Italic, only Arial Italic will show up in the illustrator font options and display. If I then go back and reinstall Arial Bold, Arial Italic will cease to work and Arial Bold will work instead.

This limitation does not occur with different font families.

I had a look in the Font Book on my Mac and all three fonts seem to be installed, so I don't think they are installing over each other.

Is this by design?

Screenshot 2023-09-24 at 15 23 37

Fonts can't be seen by Adobe Illustrator

This is an awesome tool, however when I downloaded a few fonts I was missing they showed up in all programs except Adobe Illustrator.

No biggie but it would be super useful if you could fix this somehow.

The fonts I used for reference:
Chauncy Pro Bold
Tomarik Brush
Arboria
Chinchilla
Veveine

Create CSS file that uses local font sources

It would be nice if the program could create a .css file with the local font definitions and their source.

Example:

@font-face {
	font-family: "museo-slab";
	src: url("../fonts/museo-slab_300_italic.woff") format("woff"),url("museo-slab_300_italic.woff2") format("woff2"),url("museo-slab_300_italic.otf") format("opentype");
	font-display: auto;
	font-style: italic;
	font-weight: 300;
}

I'm currently creating something like this project but it works a little bit different and is a lot more buggier than your solution

Therefore the requested enchantment

"Download All" fonts does not always download all fonts.

Thanks to @Nickyg001 for raising this issue,

Problem Description

clicking "Download All" on larger font families, specifically https://fonts.adobe.com/fonts/quasimoda will not download all fonts.

This issue does not appear to be present on Firefox, which successfully downloads all fonts, leading me to believe the file-saver npm module TypeRip is using has an existing bug related to chrome.

Notes

There's some mention in file-saver's github issues about this or a similar bug being present and fixed in 2018. I would imagine this fix has made its way up to whatever version I'm using now, but I'll have to do some more poking around to see if a fix is available on any version, or if perhaps this is a regression.

Long numeric font names (in metadata)

Is there any software to correct the font name (metadata) after downloading? GUI or CLI does not matter really.

The name of the files is correct but after importing them to Font Book App on Mac they show up as long numeric names.

E.g.: "31d8439d73a53420631b6427a6c5b5d2f7f9f77028033b1302d6d2951c5a95cb"

Unable to convert downloaded woff2 files

I wanted to install some fonts on my PC and woff2 fonts need to be converted before you can install them on Windows, but although the grabbed fonts display fine on the page and in the Application tab of Chrome dev tools I have been unable to convert them to TTF or OTF. I tried various online font converters and built woff2 from source but although they have been able to convert woff2 files from other sources they all failed to convert these ripped woff2 files.

Installs only one Weight/Style on Windows

If I try to Install all Fonts via the "Install Fonts for all Users" option it only installs one Font Style Multiple TImes.
For example, if I try to install the Futura PT it results in me having 15 versions of Futura PT Book Oblique.
In the OpenType Preview Window it renders them all differently and correctly.

Is there any fix for this?

Fonts are corrupt

Tried adding some fonts to Suitcase and get a corrupt error. Not exactly sure what it is. Ill check with FontForge and see what this tells me

corrupt-fonts-error

Request: Download all & Font Pack URL parsing

A button to pull all files either in to a ZIP or just essentially clicking all the download buttons would be useful. Doing this in the chrome console isn't fun heh.

Font pack URL's in which a pack that includes multiple families being parsed would be useful too. (e.g. https://fonts.adobe.com/collections/spark-font-pack )

This is sort of two tickets in one but they relate to more relate to UX changes which I believe will be roughly in the same area of code.

Other languages

Thanks for this awesome riper)
May be you have any idea how to download font wirh all characters? (russian for exapmle).
I think need some tweeks in this place:
https://use.typekit.net/pf/tk/" + subfont_web_id + "/" + subfont_fvd + "/m?primer=" + font_primer +
var font_primer always equals json.textSampleData.textSamplePrimers.en = "2f933ade0879e52e3bcd40ae1192d21e9abf39f5672f029a05c1e05c6605ecf0" for all fonts.
Is it a coded character set (range A-B, a-b, 0-9)?
can we encode a larger range that will include other languages?

"Regular" weight fonts don't work

When I download a font, they seem to work well (regular, italic, bold and bold italic show correctly on the Mac Font Book). However, when using them in Microsoft Word, LibreOffice Writer and other programs, the regular weight shows as the bold weight? Is as if the programs don't recognize the regular font weight.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.