小编Sal*_*man的帖子

CTFontManagerRegisterGraphicsFont不会注册姓氏

出于与许可相关的原因,我必须解密字体文件并将其加载到内存中然后注册它而不是直接从URL读取.为此,我必须使用CTFontManagerRegisterGraphicsFont.

有问题的部分出现在我尝试使用[NSFont fontWithName:@"Open Sans" size:21.0]它只接受字体的PostScript名称的地方(即("OpenSans或OpenSans-Bold为大胆的重量")并且不会使用姓氏"Open Sans".

如果ATSApplicationFontsPath在info.plist文件中使用注册字体或使用,CTFontManagerRegisterFontsForURLs那么我可以使用该字体的系列名称.但我不能这样做.

(这里使用"Open Sans"作为示例)

这是我用来注册字体的相关代码.

NSString *fontPath = [[NSBundle mainBundle] pathForResource:@"OpenSans-Regular" ofType:@"ttf" inDirectory:@"Fonts"];
NSData *fontData = [NSData dataWithContentsOfFile:fontPath];

CGDataProviderRef fontProviderRef = CGDataProviderCreateWithCFData((CFDataRef)fontData);
CGFontRef fontRef = CGFontCreateWithDataProvider(fontProviderRef);
CFErrorRef error;

if (! CTFontManagerRegisterGraphicsFont(fontRef, &error)) {

    CFStringRef errorDescription = CFErrorCopyDescription(error);
    NSLog(@"Failed to load font: %@", errorDescription);
    CFRelease(errorDescription);
}

CFRelease(fontRef);
CFRelease(fontProviderRef);
Run Code Online (Sandbox Code Playgroud)

有没有办法让NSFont可以使用字体系列名称CTFontManagerRegisterGraphicsFont

(使用Xcode 5并定位Mac OS X> = 10.8)

macos cocoa objective-c

8
推荐指数
1
解决办法
2134
查看次数

读磁性墨水(MICR)

我需要能够读取由磁性墨水中创建的任意形状产生的波形.如何以编程方式模拟这个?

我对OCR 感兴趣.根据磁性墨水字符识别,并假设您有E13B字体和渲染到JPG/PNG上的字符:

纸平面中的墨水首先被磁化.然后字符通过MICR读头,类似于录音机的播放头的设备.当每个角色经过头部时,它会产生一个独特的波形,系统可以很容易地识别出来.

任何编程语言的解决方案的任何指导将不胜感激.

javascript waveform objective-c magnetometer

6
推荐指数
1
解决办法
289
查看次数

使用Javascript数组方法的意外行为

请使用以下代码

var a = b = [];
a.push('value');
if (a === b) {
    console.log('a === b'); // this will execute
}

console.log(a, b); // ["value"] ["value"]
Run Code Online (Sandbox Code Playgroud)

是什么赋予了?为什么要ab修改?var声明是否正在制作b实时副本a?如果是这样,那么为什么不能同样适用于常规变量赋值,例如:

var a = b = '';
a = 'value';
if (a === b) {
    console.log('a === b'); // this will never run
}

console.log(a, b); // value
Run Code Online (Sandbox Code Playgroud)

当然,使用以下声明解决了初始示例中的问题:

var a = [], b = [];
Run Code Online (Sandbox Code Playgroud)

但是初始示例中的行为让我觉得奇怪,特别是它只适用于数组操作.

如果有帮助,我正在使用Google Chrome 10.0.648.82测试版

javascript

0
推荐指数
1
解决办法
312
查看次数

标签 统计

javascript ×2

objective-c ×2

cocoa ×1

macos ×1

magnetometer ×1

waveform ×1