How to debug a font binary from the Terminal on Mac
I have created a demo font which I haven't been able to get working yet, running into this Browser error when I try to load it in the browser:
OTS parsing error: incorrect entrySelector for table directory
Specifically, this is an OpenType (or perhaps TrueType) font, not sure which one I chose fully yet. But that field entrySelector can be found on this Apple docs page, and this Microsoft cmap page, and also their OpenType font page. That's pretty much it. I've double and triple checked that I am setting the values according to the spec but it won't get fixed. So all I can think of now is to start inspecting the memory layout of the bits and see what could be going wrong. That's what this question is about: How to debug (any arbitrary program) on a Mac in the Terminal using just the binary and a hex viewer pretty much.
I've linked to a hexdump output of one of the older versions of the font to start. I would now like to somehow dig deeper into this so I can start inspecting the values in specific places in memory. For example, I could check all of the variables used in the calculation of entrySelector, and see what their values are stored in memory. Then try computing the value and see if it's the same. Stuff like that.
But I don't know where to begin with it. Without installing any other programs than just the hexdump I already have (ideally at least), I'm wondering what are some first steps I can take to debug this using the hex viewer.
osx fonts binary hexdump
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I have created a demo font which I haven't been able to get working yet, running into this Browser error when I try to load it in the browser:
OTS parsing error: incorrect entrySelector for table directory
Specifically, this is an OpenType (or perhaps TrueType) font, not sure which one I chose fully yet. But that field entrySelector can be found on this Apple docs page, and this Microsoft cmap page, and also their OpenType font page. That's pretty much it. I've double and triple checked that I am setting the values according to the spec but it won't get fixed. So all I can think of now is to start inspecting the memory layout of the bits and see what could be going wrong. That's what this question is about: How to debug (any arbitrary program) on a Mac in the Terminal using just the binary and a hex viewer pretty much.
I've linked to a hexdump output of one of the older versions of the font to start. I would now like to somehow dig deeper into this so I can start inspecting the values in specific places in memory. For example, I could check all of the variables used in the calculation of entrySelector, and see what their values are stored in memory. Then try computing the value and see if it's the same. Stuff like that.
But I don't know where to begin with it. Without installing any other programs than just the hexdump I already have (ideally at least), I'm wondering what are some first steps I can take to debug this using the hex viewer.
osx fonts binary hexdump
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
I have created a demo font which I haven't been able to get working yet, running into this Browser error when I try to load it in the browser:
OTS parsing error: incorrect entrySelector for table directory
Specifically, this is an OpenType (or perhaps TrueType) font, not sure which one I chose fully yet. But that field entrySelector can be found on this Apple docs page, and this Microsoft cmap page, and also their OpenType font page. That's pretty much it. I've double and triple checked that I am setting the values according to the spec but it won't get fixed. So all I can think of now is to start inspecting the memory layout of the bits and see what could be going wrong. That's what this question is about: How to debug (any arbitrary program) on a Mac in the Terminal using just the binary and a hex viewer pretty much.
I've linked to a hexdump output of one of the older versions of the font to start. I would now like to somehow dig deeper into this so I can start inspecting the values in specific places in memory. For example, I could check all of the variables used in the calculation of entrySelector, and see what their values are stored in memory. Then try computing the value and see if it's the same. Stuff like that.
But I don't know where to begin with it. Without installing any other programs than just the hexdump I already have (ideally at least), I'm wondering what are some first steps I can take to debug this using the hex viewer.
osx fonts binary hexdump
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
I have created a demo font which I haven't been able to get working yet, running into this Browser error when I try to load it in the browser:
OTS parsing error: incorrect entrySelector for table directory
Specifically, this is an OpenType (or perhaps TrueType) font, not sure which one I chose fully yet. But that field entrySelector can be found on this Apple docs page, and this Microsoft cmap page, and also their OpenType font page. That's pretty much it. I've double and triple checked that I am setting the values according to the spec but it won't get fixed. So all I can think of now is to start inspecting the memory layout of the bits and see what could be going wrong. That's what this question is about: How to debug (any arbitrary program) on a Mac in the Terminal using just the binary and a hex viewer pretty much.
I've linked to a hexdump output of one of the older versions of the font to start. I would now like to somehow dig deeper into this so I can start inspecting the values in specific places in memory. For example, I could check all of the variables used in the calculation of entrySelector, and see what their values are stored in memory. Then try computing the value and see if it's the same. Stuff like that.
But I don't know where to begin with it. Without installing any other programs than just the hexdump I already have (ideally at least), I'm wondering what are some first steps I can take to debug this using the hex viewer.
osx fonts binary hexdump
osx fonts binary hexdump
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
asked Jan 14 at 8:58
user10869858user10869858
234
234
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
New contributor
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
user10869858 is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
Check out our Code of Conduct.
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
user10869858 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f494377%2fhow-to-debug-a-font-binary-from-the-terminal-on-mac%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
user10869858 is a new contributor. Be nice, and check out our Code of Conduct.
user10869858 is a new contributor. Be nice, and check out our Code of Conduct.
user10869858 is a new contributor. Be nice, and check out our Code of Conduct.
user10869858 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f494377%2fhow-to-debug-a-font-binary-from-the-terminal-on-mac%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown