Source/GSLayoutManager.m: new method -typingAttributes returns default typing
attributes of NSTextView.
* Source/NSLayoutManager.m: override GSLayoutManager's -typingAttributes - primitive
method - provides access to _typingAttributes ivar.
* Source/GSHorizontalTypesetter.m: use new GSLayoutManager's -typingAttributes method
to get paragraph style and font of new empty text container. Normally `curLayoutManager`
is a NSLayoutManager object so actually we get NSLayoutManager's _typingAttributes.
comment to describe cache variables.
* Source/GSHorizontalTypesetter.m: Restructure glyph attribute
cache filling and make _addExtraLineFragment saver by providing a
default for curParagraphStyle.
* Source/NSTextAttachment.m: Use NSUInteger and bring closer to
the Apple implementation.
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
For attachments use the cell origin y flipped.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37704 72102866-910b-0410-8b05-ffd578937521
Only adjust max_line_height to minimumLineHeight if it isn't zero.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@37296 72102866-910b-0410-8b05-ffd578937521
-_invalidateEverything visible.
* Source/GSLayoutManager.m
* (-invalidateGlyphsForCharacterRange:...): Call
-_invalidateEverything when the whole character range is
invalidated.
* Source/NSStringDrawing.m: Remove workarounds for full layout
* invalidation.
Move initialisation check into cache_lock().
Extract size match code in function.
Put #ifdef around all statistics code.
Use same LARGE_SIZE value as Apple does.
Make the methods taking options the main ones.
* Source/GSHorizontalTypesetter.m (-fullJustifyLine::,
-rightAlignLine::, -centerAlignLine::): Don't align when the
line
width is bigger than 1e7.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@35925 72102866-910b-0410-8b05-ffd578937521
* Source/GSHorizontalTypesetter.m: Split declaration of struct
GSHorizontalTypesetter_glyph_cache_s and struct
GSHorizontalTypesetter_line_frag_s from their typedefs to compile
under clang.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33793 72102866-910b-0410-8b05-ffd578937521
* Source/GSHorizontalTypesetter.m:
* Headers/Additions/GNUstepGUI/GSLayoutManager_internal.h:
* Headers/Additions/GNUstepGUI/GSLayoutManager.h: Store
glyph advances in the runs in GSLayoutManager. Extend the
NSGlyphStorage protocol to support a case where the glyph
generator provides the glyph advances.
I'm hoping to use this in the future to implement (optional)
glyph generators which are wrappers around HarfBuzz or the ICU
OpenType layout engine.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@33684 72102866-910b-0410-8b05-ffd578937521
log the exception, but don't rethrow it.
* Source/GSLayoutManager.m: return a zero length range in
-(NSRange)glyphRangeForCharacterRange:actualCharacterRange:
when charRange has a length and a location of 0.
Added by Gregory John Casamento <greg.casamento@gmail.com>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28521 72102866-910b-0410-8b05-ffd578937521
the instance of the typesetter for that thread.
* Source/NSStringDrawing.m: Add locks to methods to prevent modification
of static variables by separate threads from causing the application
to get glyph generation errors.
NOTE: These changes based on suggestions/ideas from Doug
Simons <doug@riverrock.org>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@28219 72102866-910b-0410-8b05-ffd578937521
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
Implement NSLineBreakByClipping. Set outside_line_frag and dont_show
attributes for every glyph.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@20330 72102866-910b-0410-8b05-ffd578937521
* Source/GSHorizontalTypesetter.m (-layoutLineNewParagraph:):
Pass the right glyph position to cells.
* Headers/AppKit/NSTextAttachment.h: Clarify documentation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@19991 72102866-910b-0410-8b05-ffd578937521