Giter Site home page Giter Site logo

jonathanzong / 3d-print-letterpress Goto Github PK

View Code? Open in Web Editor NEW
20.0 20.0 2.0 78 KB

Converts OpenType and TrueType (.otf and .ttf) files into 3D printable (.stl) models of letterpress type for a specified point size and glyph.

License: MIT License

JavaScript 100.00%

3d-print-letterpress's People

Contributors

jonathanzong avatar

Stargazers

 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

3d-print-letterpress's Issues

node-raphael sub-dependency out of date

$ 3d-print-letterpress Gotham-Book.otf 24 t
/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/lib/jsdom/level1/core.js:553
      Array.prototype.splice.call(this._childNodes, refChildIndex, 0, newChild);
                             ^

TypeError: Cannot set property length of [object Object] which has only a getter
    at core.Node.insertBefore (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/lib/jsdom/level1/core.js:553:30)
    at null.<anonymous> (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/lib/jsdom/level2/events.js:332:20)
    at proto.(anonymous function) [as insertBefore] (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/lib/jsdom/utils.js:23:26)
    at core.Node.appendChild (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/lib/jsdom/level1/core.js:671:17)
    at Function.R._engine.create (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/raphael/raphael.js:7093:27)
    at R (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/raphael/raphael.js:464:47)
    at Object.generate (/usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/index.js:13:42)
    at SegmentCurve (/usr/local/lib/node_modules/3d-print-letterpress/lib/segmentelem.js:35:14)
    at SegmentElem (/usr/local/lib/node_modules/3d-print-letterpress/lib/segmentelem.js:142:16)
    at getModelForCommands (/usr/local/lib/node_modules/3d-print-letterpress/src/main.js:203:20)

waiting on dodo/node-raphael#9

El Capitan install issue

Here is the output when I run the install. Let me know if you have any other info you may need.
-Kent

Last login: Wed Sep 30 14:34:28 on ttys001
Kents-MacBook-Air:~ KentBookAir$ npm install git+ssh://[email protected]:jonathanzong/3d-print-letterpress.git -g
|

[email protected] install /usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/node_modules/contextify
node-gyp rebuild

CXX(target) Release/obj.target/contextify/src/contextify.o
In file included from ../src/contextify.cc:3:
../node_modules/nan/nan.h:261:25: error: redefinition of '_NanEnsureLocal'
NAN_INLINE v8::Local NanEnsureLocal(v8::Local val) {
^
../node_modules/nan/nan.h:256:25: note: previous definition is here
NAN_INLINE v8::Local NanEnsureLocal(v8::Handle val) {
^
../node_modules/nan/nan.h:661:13: error: no member named 'smalloc' in namespace
'node'
, node::smalloc::FreeCallback callback
~~~~~~^
../node_modules/nan/nan.h:672:12: error: no matching function for call to 'New'
return node::Buffer::New(v8::Isolate::GetCurrent(), data, size);
^~~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/node_buffer.h:31:40: note:
candidate function not viable: no known conversion from 'uint32_t'
(aka 'unsigned int') to 'enum encoding' for 3rd argument
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/node_buffer.h:43:40: note:
candidate function not viable: 2nd argument ('const char ') would lose
const qualifier
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate
isolate,
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/node_buffer.h:28:40: note:
candidate function not viable: requires 2 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate, size_t length);
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/node_buffer.h:36:40: note:
candidate function not viable: requires 5 arguments, but 3 were provided
NODE_EXTERN v8::MaybeLocalv8::Object New(v8::Isolate* isolate,
^
In file included from ../src/contextify.cc:3:
../node_modules/nan/nan.h:676:12: error: no viable conversion from
'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object'
return node::Buffer::New(v8::Isolate::GetCurrent(), size);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate
constructor (the implicit copy constructor) not viable: no known
conversion from 'v8::MaybeLocalv8::Object' to 'const
v8::Localv8::Object &' for 1st argument
class Local {
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:210:7: note: candidate
constructor (the implicit move constructor) not viable: no known
conversion from 'v8::MaybeLocalv8::Object' to 'v8::Localv8::Object &&'
for 1st argument
class Local {
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:214:13: note: candidate
template ignored: could not match 'Local' against 'MaybeLocal'
V8_INLINE Local(Local that)
^
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:326:13: note: candidate
template ignored: could not match 'S ' against
'v8::MaybeLocalv8::Object'
V8_INLINE Local(S
that)
^
In file included from ../src/contextify.cc:3:
../node_modules/nan/nan.h:683:26: error: no member named 'Use' in namespace
'node::Buffer'
return node::Buffer::Use(v8::Isolate::GetCurrent(), data, size);
~~~~~~~~~~~~~~^
In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Primitive *volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
(static_cast<T volatile
>(0)) = static_cast<S
>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:414:12: note: in instantiation of function template
specialization 'v8::Localv8::Primitive::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::Undefined(v8::Isolate::GetCurrent())));
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Boolean volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:424:12: note: in instantiation of function template
specialization 'v8::Localv8::Boolean::Localv8::Value' requested here
return NanEscapeScope(NanNew(v8::True(v8::Isolate::GetCurrent())));
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Function volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1514:12: note: in instantiation of function template
specialization 'v8::Localv8::Function::Localv8::Value' requested here
return NanEscapeScope(NanNew(handle)->Get(kCallbackIndex)
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Object volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:1632:12: note: in instantiation of function template
specialization 'v8::Localv8::Object::Localv8::Value' requested here
return NanEscapeScope(handle->Get(NanNew(key)).Asv8::Object());
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Value volatile' from incompatible type 'v8::Context *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../node_modules/nan/nan.h:267:10: note: in instantiation of function template
specialization 'v8::Localv8::Value::Localv8::Context' requested here
return NanNew(val);
^
../src/contextify.cc:159:16: note: in instantiation of function template
specialization '_NanEnsureLocalv8::Local<v8::Context >' requested here
return NanEscapeScope(NanNew(
^
../node_modules/nan/nan.h:398:43: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                                      ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:221:5: error: assigning to
'v8::Context volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../src/contextify.cc:159:16: note: in instantiation of function template
specialization 'v8::Localv8::Context::Localv8::Value' requested here
return NanEscapeScope(NanNew(
^
../node_modules/nan/nan.h:398:30: note: expanded from macro 'NanEscapeScope'

define NanEscapeScope(val) scope.Escape(_NanEnsureLocal(val))

                         ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:7367:3: error: assigning to
'v8::Integer volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../src/contextify.cc:211:13: note: in instantiation of function template
specialization 'v8::ReturnValuev8::Integer::Setv8::Value' requested
here
NanReturnValue(NanNew(None));
^
../node_modules/nan/nan.h:401:61: note: expanded from macro 'NanReturnValue'

define NanReturnValue(value) return args.GetReturnValue().Set(_NanEnsu...

                                                        ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:7367:3: error: assigning to
'v8::Boolean volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../src/contextify.cc:225:13: note: in instantiation of function template
specialization 'v8::ReturnValuev8::Boolean::Setv8::Value' requested
here
NanReturnValue(NanNew(false));
^
../node_modules/nan/nan.h:401:61: note: expanded from macro 'NanReturnValue'

define NanReturnValue(value) return args.GetReturnValue().Set(_NanEnsu...

                                                        ^

In file included from ../src/contextify.cc:1:
In file included from /Users/KentBookAir/.node-gyp/4.1.1/include/node/node.h:42:
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:7367:3: error: assigning to
'v8::Array volatile' from incompatible type 'v8::Value *'
TYPE_CHECK(T, S);
^~~~~~~~~~~~~~~~
/Users/KentBookAir/.node-gyp/4.1.1/include/node/v8.h:180:37: note: expanded from
macro 'TYPE_CHECK'
*(static_cast<T
volatile_>(0)) = static_cast<S_>(0);
^ ~~~~~~~~~~~~~~~~~~
../src/contextify.cc:236:13: note: in instantiation of function template
specialization 'v8::ReturnValuev8::Array::Setv8::Value' requested here
NanReturnValue(blank);
^
../node_modules/nan/nan.h:401:61: note: expanded from macro 'NanReturnValue'

define NanReturnValue(value) return args.GetReturnValue().Set(_NanEnsu...

                                                        ^

14 errors generated.
make: *** [Release/obj.target/contextify/src/contextify.o] Error 1
gyp ERR! build error
gyp ERR! stack Error: make failed with exit code: 2
gyp ERR! stack at ChildProcess.onExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/build.js:270:23)
gyp ERR! stack at emitTwo (events.js:87:13)
gyp ERR! stack at ChildProcess.emit (events.js:172:7)
gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:200:12)
gyp ERR! System Darwin 15.0.0
gyp ERR! command "/usr/local/Cellar/node/4.1.1/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "rebuild"
gyp ERR! cwd /usr/local/lib/node_modules/3d-print-letterpress/node_modules/node-raphael/node_modules/jsdom/node_modules/contextify
gyp ERR! node -v v4.1.1
gyp ERR! node-gyp -v v3.0.1
gyp ERR! not ok
npm ERR! Darwin 15.0.0
npm ERR! argv "/usr/local/Cellar/node/4.1.1/bin/node" "/usr/local/bin/npm" "install" "git+ssh://[email protected]:jonathanzong/3d-print-letterpress.git" "-g"
npm ERR! node v4.1.1
npm ERR! npm v2.14.4
npm ERR! code ELIFECYCLE

npm ERR! [email protected] install: node-gyp rebuild
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script 'node-gyp rebuild'.
npm ERR! This is most likely a problem with the contextify package,
npm ERR! not with npm itself.
npm ERR! Tell the author that this fails on your system:
npm ERR! node-gyp rebuild
npm ERR! You can get their info via:
npm ERR! npm owner ls contextify
npm ERR! There is likely additional logging output above.

npm ERR! Please include the following file with any support request:
npm ERR! /Users/KentBookAir/npm-debug.log
Kents-MacBook-Air:~ KentBookAir$

Sidebearings?

Just judging from the pics in the readme.md file, it appears the font's side-bearings are not being included on the printed types. These are the shoulders on the left and right sides of the glyphs that ensure the letters are spaced properly when laid side-by-side. These are very important parts of a letter. The font will contain 2 values that define this; the "advance width" which is the total width of the block containing the glyph; and the left side-bearing value which is the space between the leftmost edge (the origin) of the block and the leftmost edge of the glyph itself. The right side-bearing is the remaining width left over after the rightmost edge of the glyph, and thus doesn't require a value.

sidebearings

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.