mirror of
git://git.sv.gnu.org/emacs.git
synced 2026-01-30 04:10:54 -08:00
Forgot to add files.
This commit is contained in:
parent
3fa2054efd
commit
d93ab42eb9
3 changed files with 13217 additions and 0 deletions
144
src/macfont.h
Normal file
144
src/macfont.h
Normal file
|
|
@ -0,0 +1,144 @@
|
|||
/* Interface definition for Mac OSX Core text font backend.
|
||||
Copyright (C) 2009-2013 Free Software Foundation, Inc.
|
||||
|
||||
This file is part of GNU Emacs.
|
||||
|
||||
GNU Emacs is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
GNU Emacs is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with GNU Emacs. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
Original author: YAMAMOTO Mitsuharu
|
||||
*/
|
||||
|
||||
/* Structure used by Mac `shape' functions for storing layout
|
||||
information for each glyph. */
|
||||
struct mac_glyph_layout
|
||||
{
|
||||
/* Range of indices of the characters composed into the group of
|
||||
glyphs that share the cursor position with this glyph. The
|
||||
members `location' and `length' are in UTF-16 indices. */
|
||||
CFRange comp_range;
|
||||
|
||||
/* UTF-16 index in the source string for the first character
|
||||
associated with this glyph. */
|
||||
CFIndex string_index;
|
||||
|
||||
/* Horizontal and vertical adjustments of glyph position. The
|
||||
coordinate space is that of Core Text. So, the `baseline_delta'
|
||||
value is negative if the glyph should be placed below the
|
||||
baseline. */
|
||||
CGFloat advance_delta, baseline_delta;
|
||||
|
||||
/* Typographical width of the glyph. */
|
||||
CGFloat advance;
|
||||
|
||||
/* Glyph ID of the glyph. */
|
||||
CGGlyph glyph_id;
|
||||
};
|
||||
|
||||
typedef CTFontDescriptorRef FontDescriptorRef;
|
||||
typedef CTFontRef FontRef;
|
||||
typedef CTFontSymbolicTraits FontSymbolicTraits;
|
||||
typedef CTCharacterCollection CharacterCollection;
|
||||
|
||||
#define MAC_FONT_NAME_ATTRIBUTE kCTFontNameAttribute
|
||||
#define MAC_FONT_FAMILY_NAME_ATTRIBUTE kCTFontFamilyNameAttribute
|
||||
#define MAC_FONT_TRAITS_ATTRIBUTE kCTFontTraitsAttribute
|
||||
#define MAC_FONT_SIZE_ATTRIBUTE kCTFontSizeAttribute
|
||||
#define MAC_FONT_CASCADE_LIST_ATTRIBUTE kCTFontCascadeListAttribute
|
||||
#define MAC_FONT_CHARACTER_SET_ATTRIBUTE kCTFontCharacterSetAttribute
|
||||
#define MAC_FONT_LANGUAGES_ATTRIBUTE kCTFontLanguagesAttribute
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
|
||||
#define MAC_FONT_FORMAT_ATTRIBUTE kCTFontFormatAttribute
|
||||
#else
|
||||
#define MAC_FONT_FORMAT_ATTRIBUTE (CFSTR ("NSCTFontFormatAttribute"))
|
||||
#endif
|
||||
#define MAC_FONT_SYMBOLIC_TRAIT kCTFontSymbolicTrait
|
||||
#define MAC_FONT_WEIGHT_TRAIT kCTFontWeightTrait
|
||||
#define MAC_FONT_WIDTH_TRAIT kCTFontWidthTrait
|
||||
#define MAC_FONT_SLANT_TRAIT kCTFontSlantTrait
|
||||
|
||||
enum {
|
||||
MAC_FONT_TRAIT_ITALIC = kCTFontItalicTrait,
|
||||
MAC_FONT_TRAIT_BOLD = kCTFontBoldTrait,
|
||||
MAC_FONT_TRAIT_MONO_SPACE = kCTFontMonoSpaceTrait,
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1070
|
||||
MAC_FONT_TRAIT_COLOR_GLYPHS = kCTFontColorGlyphsTrait
|
||||
#else
|
||||
MAC_FONT_TRAIT_COLOR_GLYPHS = (1 << 13)
|
||||
#endif
|
||||
};
|
||||
|
||||
enum {
|
||||
#if MAC_OS_X_VERSION_MAX_ALLOWED >= 1060
|
||||
MAC_FONT_FORMAT_BITMAP = kCTFontFormatBitmap
|
||||
#else
|
||||
MAC_FONT_FORMAT_BITMAP = 5
|
||||
#endif
|
||||
};
|
||||
|
||||
enum {
|
||||
MAC_CHARACTER_COLLECTION_IDENTITY_MAPPING = kCTIdentityMappingCharacterCollection,
|
||||
MAC_CHARACTER_COLLECTION_ADOBE_JAPAN1 = kCTAdobeJapan1CharacterCollection
|
||||
};
|
||||
|
||||
#define mac_font_descriptor_create_with_attributes \
|
||||
CTFontDescriptorCreateWithAttributes
|
||||
#define mac_font_descriptor_create_matching_font_descriptors \
|
||||
CTFontDescriptorCreateMatchingFontDescriptors
|
||||
#define mac_font_descriptor_create_matching_font_descriptor \
|
||||
CTFontDescriptorCreateMatchingFontDescriptor
|
||||
#define mac_font_descriptor_copy_attribute CTFontDescriptorCopyAttribute
|
||||
#define mac_font_descriptor_supports_languages \
|
||||
mac_ctfont_descriptor_supports_languages
|
||||
#define mac_font_create_with_name(name, size) \
|
||||
CTFontCreateWithName (name, size, NULL)
|
||||
#define mac_font_get_size CTFontGetSize
|
||||
#define mac_font_copy_family_name CTFontCopyFamilyName
|
||||
#define mac_font_copy_character_set CTFontCopyCharacterSet
|
||||
#define mac_font_get_glyphs_for_characters CTFontGetGlyphsForCharacters
|
||||
#define mac_font_get_ascent CTFontGetAscent
|
||||
#define mac_font_get_descent CTFontGetDescent
|
||||
#define mac_font_get_leading CTFontGetLeading
|
||||
#define mac_font_get_underline_position CTFontGetUnderlinePosition
|
||||
#define mac_font_get_underline_thickness CTFontGetUnderlineThickness
|
||||
#define mac_font_copy_graphics_font(font) CTFontCopyGraphicsFont (font, NULL)
|
||||
#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1060
|
||||
#define mac_font_copy_non_synthetic_table(font, table) \
|
||||
CTFontCopyTable (font, table, kCTFontTableOptionNoOptions)
|
||||
#else
|
||||
#define mac_font_copy_non_synthetic_table(font, table) \
|
||||
CTFontCopyTable (font, table, kCTFontTableOptionExcludeSynthetic)
|
||||
#endif
|
||||
|
||||
#define mac_font_create_preferred_family_for_attributes \
|
||||
mac_ctfont_create_preferred_family_for_attributes
|
||||
#define mac_font_get_advance_width_for_glyph \
|
||||
mac_ctfont_get_advance_width_for_glyph
|
||||
#define mac_font_get_bounding_rect_for_glyph \
|
||||
mac_ctfont_get_bounding_rect_for_glyph
|
||||
#define mac_font_create_available_families mac_ctfont_create_available_families
|
||||
#define mac_font_shape mac_ctfont_shape
|
||||
#if USE_CT_GLYPH_INFO
|
||||
#define mac_font_get_glyph_for_cid mac_ctfont_get_glyph_for_cid
|
||||
#endif
|
||||
|
||||
#define mac_nsctfont_copy_font_descriptor CTFontCopyFontDescriptor
|
||||
|
||||
#define MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE \
|
||||
(CFSTR ("MAC_FONT_CHARACTER_SET_STRING_ATTRIBUTE"))
|
||||
|
||||
typedef const struct _EmacsScreenFont *ScreenFontRef; /* opaque */
|
||||
|
||||
extern void mac_register_font_driver (struct frame *f);
|
||||
extern void *macfont_get_nsctfont (struct font *font);
|
||||
|
||||
3858
src/macfont.m
Normal file
3858
src/macfont.m
Normal file
File diff suppressed because it is too large
Load diff
9215
src/macuvs.h
Normal file
9215
src/macuvs.h
Normal file
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue