aboutsummaryrefslogtreecommitdiff
path: root/cpp/woff2-decompress.cc
diff options
context:
space:
mode:
Diffstat (limited to 'cpp/woff2-decompress.cc')
-rw-r--r--cpp/woff2-decompress.cc61
1 files changed, 0 insertions, 61 deletions
diff --git a/cpp/woff2-decompress.cc b/cpp/woff2-decompress.cc
deleted file mode 100644
index dc9a281..0000000
--- a/cpp/woff2-decompress.cc
+++ /dev/null
@@ -1,61 +0,0 @@
-// Copyright (c) 2012 The Chromium Authors. All rights reserved.
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-// A very simple commandline tool for decompressing woff2 format files
-// (given as argc[1]), writing the decompressed version to stdout.
-
-#include <fcntl.h>
-#include <sys/stat.h>
-#include <unistd.h>
-
-#include <cstdio>
-#include <cstdlib>
-
-#include "opentype-sanitiser.h"
-#include "woff2.h"
-
-namespace {
-
-int Usage(const char *argv0) {
- std::fprintf(stderr, "Usage: %s woff2_file > dest_ttf_file\n", argv0);
- return 1;
-}
-
-} // namespace
-
-int main(int argc, char **argv) {
- if (argc != 2) return Usage(argv[0]);
- if (::isatty(1)) return Usage(argv[0]);
-
- const int fd = ::open(argv[1], O_RDONLY);
- if (fd < 0) {
- ::perror("open");
- return 1;
- }
-
- struct stat st;
- ::fstat(fd, &st);
-
- uint8_t *data = new uint8_t[st.st_size];
- if (::read(fd, data, st.st_size) != st.st_size) {
- ::perror("read");
- return 1;
- }
- ::close(fd);
-
- size_t decompressed_size = ots::ComputeWOFF2FinalSize(data, st.st_size);
- if (decompressed_size == 0) {
- std::fprintf(stderr, "Error computing decompressed file size!\n");
- return 1;
- }
- uint8_t *buf = new uint8_t[decompressed_size];
- const bool result = ots::ConvertWOFF2ToTTF(buf, decompressed_size,
- data, st.st_size);
-
- if (!result) {
- std::fprintf(stderr, "Failed to decompress file!\n");
- }
- fwrite(buf, 1, decompressed_size, stdout);
- return !result;
-}