Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(327)

Unified Diff: third_party/ots/include/opentype-sanitiser.h

Issue 797183002: Revert of Updating OTS repo from https://github.com/khaledhosny/ots.git (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « third_party/ots/gyp_ots ('k') | third_party/ots/include/ots-memory-stream.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: third_party/ots/include/opentype-sanitiser.h
diff --git a/third_party/ots/include/opentype-sanitiser.h b/third_party/ots/include/opentype-sanitiser.h
deleted file mode 100644
index c454f1e23eba2e2f9b447d4f782af61116fb612e..0000000000000000000000000000000000000000
--- a/third_party/ots/include/opentype-sanitiser.h
+++ /dev/null
@@ -1,231 +0,0 @@
-// Copyright (c) 2009 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.
-
-#ifndef OPENTYPE_SANITISER_H_
-#define OPENTYPE_SANITISER_H_
-
-#if defined(_WIN32)
-#include <stdlib.h>
-typedef signed char int8_t;
-typedef unsigned char uint8_t;
-typedef short int16_t;
-typedef unsigned short uint16_t;
-typedef int int32_t;
-typedef unsigned int uint32_t;
-typedef __int64 int64_t;
-typedef unsigned __int64 uint64_t;
-#define ntohl(x) _byteswap_ulong (x)
-#define ntohs(x) _byteswap_ushort (x)
-#define htonl(x) _byteswap_ulong (x)
-#define htons(x) _byteswap_ushort (x)
-#else
-#include <arpa/inet.h>
-#include <stdint.h>
-#endif
-
-#include <algorithm>
-#include <cassert>
-#include <cstddef>
-#include <cstring>
-
-namespace ots {
-
-// -----------------------------------------------------------------------------
-// This is an interface for an abstract stream class which is used for writing
-// the serialised results out.
-// -----------------------------------------------------------------------------
-class OTSStream {
- public:
- OTSStream() {
- ResetChecksum();
- }
-
- virtual ~OTSStream() {}
-
- // This should be implemented to perform the actual write.
- virtual bool WriteRaw(const void *data, size_t length) = 0;
-
- bool Write(const void *data, size_t length) {
- if (!length) return false;
-
- const size_t orig_length = length;
- size_t offset = 0;
- if (chksum_buffer_offset_) {
- const size_t l =
- std::min(length, static_cast<size_t>(4) - chksum_buffer_offset_);
- std::memcpy(chksum_buffer_ + chksum_buffer_offset_, data, l);
- chksum_buffer_offset_ += l;
- offset += l;
- length -= l;
- }
-
- if (chksum_buffer_offset_ == 4) {
- uint32_t tmp;
- std::memcpy(&tmp, chksum_buffer_, 4);
- chksum_ += ntohl(tmp);
- chksum_buffer_offset_ = 0;
- }
-
- while (length >= 4) {
- uint32_t tmp;
- std::memcpy(&tmp, reinterpret_cast<const uint8_t *>(data) + offset,
- sizeof(uint32_t));
- chksum_ += ntohl(tmp);
- length -= 4;
- offset += 4;
- }
-
- if (length) {
- if (chksum_buffer_offset_ != 0) return false; // not reached
- if (length > 4) return false; // not reached
- std::memcpy(chksum_buffer_,
- reinterpret_cast<const uint8_t*>(data) + offset, length);
- chksum_buffer_offset_ = length;
- }
-
- return WriteRaw(data, orig_length);
- }
-
- virtual bool Seek(off_t position) = 0;
- virtual off_t Tell() const = 0;
-
- virtual bool Pad(size_t bytes) {
- static const uint32_t kZero = 0;
- while (bytes >= 4) {
- if (!WriteTag(kZero)) return false;
- bytes -= 4;
- }
- while (bytes) {
- static const uint8_t kZerob = 0;
- if (!Write(&kZerob, 1)) return false;
- bytes--;
- }
- return true;
- }
-
- bool WriteU8(uint8_t v) {
- return Write(&v, sizeof(v));
- }
-
- bool WriteU16(uint16_t v) {
- v = htons(v);
- return Write(&v, sizeof(v));
- }
-
- bool WriteS16(int16_t v) {
- v = htons(v);
- return Write(&v, sizeof(v));
- }
-
- bool WriteU24(uint32_t v) {
- v = htonl(v);
- return Write(reinterpret_cast<uint8_t*>(&v)+1, 3);
- }
-
- bool WriteU32(uint32_t v) {
- v = htonl(v);
- return Write(&v, sizeof(v));
- }
-
- bool WriteS32(int32_t v) {
- v = htonl(v);
- return Write(&v, sizeof(v));
- }
-
- bool WriteR64(uint64_t v) {
- return Write(&v, sizeof(v));
- }
-
- bool WriteTag(uint32_t v) {
- return Write(&v, sizeof(v));
- }
-
- void ResetChecksum() {
- chksum_ = 0;
- chksum_buffer_offset_ = 0;
- }
-
- uint32_t chksum() const {
- assert(chksum_buffer_offset_ == 0);
- return chksum_;
- }
-
- struct ChecksumState {
- uint32_t chksum;
- uint8_t chksum_buffer[4];
- unsigned chksum_buffer_offset;
- };
-
- ChecksumState SaveChecksumState() const {
- ChecksumState s;
- s.chksum = chksum_;
- s.chksum_buffer_offset = chksum_buffer_offset_;
- std::memcpy(s.chksum_buffer, chksum_buffer_, 4);
-
- return s;
- }
-
- void RestoreChecksum(const ChecksumState &s) {
- assert(chksum_buffer_offset_ == 0);
- chksum_ += s.chksum;
- chksum_buffer_offset_ = s.chksum_buffer_offset;
- std::memcpy(chksum_buffer_, s.chksum_buffer, 4);
- }
-
- protected:
- uint32_t chksum_;
- uint8_t chksum_buffer_[4];
- unsigned chksum_buffer_offset_;
-};
-
-#ifdef __GCC__
-#define MSGFUNC_FMT_ATTR __attribute__((format(printf, 2, 3)))
-#else
-#define MSGFUNC_FMT_ATTR
-#endif
-
-enum TableAction {
- TABLE_ACTION_DEFAULT, // Use OTS's default action for that table
- TABLE_ACTION_SANITIZE, // Sanitize the table, potentially droping it
- TABLE_ACTION_PASSTHRU, // Serialize the table unchanged
- TABLE_ACTION_DROP // Drop the table
-};
-
-class OTSContext {
- public:
- OTSContext() {}
- virtual ~OTSContext() {}
-
- // Process a given OpenType file and write out a sanitised version
- // output: a pointer to an object implementing the OTSStream interface. The
- // sanitisied output will be written to this. In the even of a failure,
- // partial output may have been written.
- // input: the OpenType file
- // length: the size, in bytes, of |input|
- // context: optional context that holds various OTS settings like user callbacks
- bool Process(OTSStream *output, const uint8_t *input, size_t length);
-
- // This function will be called when OTS is reporting an error.
- // level: the severity of the generated message:
- // 0: error messages in case OTS fails to sanitize the font.
- // 1: warning messages about issue OTS fixed in the sanitized font.
- virtual void Message(int level, const char *format, ...) MSGFUNC_FMT_ATTR {}
-
- // This function will be called when OTS needs to decide what to do for a
- // font table.
- // tag: table tag as an integer in big-endian byte order, independent of
- // platform endianness
- virtual TableAction GetTableAction(uint32_t tag) { return ots::TABLE_ACTION_DEFAULT; }
-};
-
-// For backward compatibility - remove once Chrome switches over to the new API.
-bool Process(OTSStream *output, const uint8_t *input, size_t length);
-
-// For backward compatibility - remove once https://codereview.chromium.org/774253008/
-// is submitted.
-void EnableWOFF2();
-
-} // namespace ots
-
-#endif // OPENTYPE_SANITISER_H_
« no previous file with comments | « third_party/ots/gyp_ots ('k') | third_party/ots/include/ots-memory-stream.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698