Giter VIP home page Giter VIP logo

Comments (6)

TakWolf avatar TakWolf commented on May 25, 2024

font link.

fn main() {
    let font = ttf_parser::Font::from_data(include_bytes!("../SourceHanSansSC-Regular.otf"), 0).unwrap();

    let glyph_index = dbg!(font.glyph_index('A').unwrap());

    dbg!(font.outline_glyph(glyph_index, &mut OutlinePrinter));
}

struct OutlinePrinter;
impl ttf_parser::OutlineBuilder for OutlinePrinter {
    fn move_to(&mut self, x: f32, y: f32) {
        eprintln!("move_to {} {}", x, y);
    }
    fn line_to(&mut self, x: f32, y: f32) {
        eprintln!("line_to {} {}", x, y);
    }
    fn quad_to(&mut self, x1: f32, y1: f32, x: f32, y: f32) {
        eprintln!("quad_to {} {} {} {}", x1, y1, x, y);
    }
    fn curve_to(&mut self, x1: f32, y1: f32, x2: f32, y2: f32, x: f32, y: f32) {
        eprintln!("curve_to {} {} {} {} {} {}", x1, y1, x2, y2, x, y);
    }
    fn close(&mut self) {
        eprintln!("close");
    }
}

Output:

[src/main.rs:6] font.glyph_index('A').unwrap() = GlyphId(34)
[src/main.rs:8] font.outline_glyph(glyph_index, &mut OutlinePrinter) = None

Originally posted by @alexheretic in alexheretic/ab-glyph#10 (comment)

from ttf-parser.

ebraminio avatar ebraminio commented on May 25, 2024

Correct, some fonts are bitmap, and some won't work correctly without hinting support which both are unrelated in this case apparently, this however should show something like

image

This is another library result, haven't checked ttf-parser result yet, if is there any issue guess should be easy to resolve also.

from ttf-parser.

RazrFalcon avatar RazrFalcon commented on May 25, 2024

Yes, ttf-parser doesn't allow CFF Index with 0xFFFF values. I will look up how this case is handled in other libraries.

from ttf-parser.

RazrFalcon avatar RazrFalcon commented on May 25, 2024

This font is technically malformed, but since it made by Adobe, who actually wrote the CFF spec - I'm confused.

from ttf-parser.

RazrFalcon avatar RazrFalcon commented on May 25, 2024

Also, ttf-parser couldn't find local subroutines for some reason. So I guess it will take a while to fix all the issues related to this font.

from ttf-parser.

RazrFalcon avatar RazrFalcon commented on May 25, 2024

This is a CID font, so please follow #7

from ttf-parser.

Related Issues (20)

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.