Work in progress

From GIMP GUI Redesign
Revision as of 13:23, 17 March 2012 by Domi (talk) (Grouping of task packages)
Jump to: navigation, search

Text in GIMP

Text-Handling in GIMP: Vision

Text functionality in GIMP

Resources: high-end text solutions in other programs:

Text in InDesign

Text in Scribus

Text in Photoshop

Text in Inkscape

Processing of Text Input in Gimp

Updated Text Functionality in Gimp 2.7.4

Pango features


towards solution models

overview of text in GIMP: Text packs.jpg

Grouping of task packages


  • typography aka in-text-layouting
    • character and paragraph level
    • preset functionality and behavior


    • OpenType implementation may need to be postponed
    • lots of functions -> much screen space
    • toolbox space?
  • editing modes
    • editor, on canvas, HUD
    • level of abstraction
    • availability and placement of functions
    • switching between modes
  • basic shape
    • non-shape, rectangle
    • creation
    • modification
  • text in 2D-space
    • needs logical specification


    • dependencies: vector tool, GEGL (for non-destructiveness)
    • minor number of functions inside text tool. most adjustment is done in vector tool


  • annotations
    • differ in many dimensions to usual text:
      • need to be turned on and off quickly
      • have no need for most of the formatting options
      • searchable?
    • = are better managed by its own system
  • complex shape/vector management
    • creation and modification of complex shapes and paths is exactly what the new vector tool is made for
    • doubling it in the text-tool…
      • …overloads the text tool
      • …uses space and control used for text-specific work
    • with GEGL a "link" between text-object and the shape should do the job
    • = should be done in vector tool: unified approach
  • text effects
    • drop shadow etc. are not unique to text
    • useful for different sorts of objects (vectors)
    • workflow is "select object" - "apply effect", no matter if it is special to text or a global effect
    • = unified approach suits it better


Path tool

table 1

object/ operation end node multiple nodes in-between node segment component (sub-path) path
add create single end node or extend new segment divide a segment (create 2 new segments instead of the old segment)
move √ (multiple paths by linking)
delete delete segment delete segments (component is not broken) delete 2 segments, create new segment (non polygonal)
adjust √ (symmetrical handles possible)
join close component/path or join components --> create new segment
merge merge visible paths - no segments added

table 2

object/ operation end node multiple nodes in-between node segment component (sub-path) path
create from Selection
convert into Selection replace, Add to, Subtract, or Intersect with current Selection -->close path


  • add end node + adjust segment (polygonal/non-polygonal control)
  • add in-between node + adjust 2 segments

present UI solutions

end node

  • add end node (extend a component)- activate end node of the component +click

It has to be more clear for the user to know if the new end node will expand the component, or start a new component?

  • add end node (start new component) – Shift +click

Could it be done in a different way? For ex. deselecting active end node + click

  • There should be just one handle visible when adjusting the end node.
  • move node – select point and drag (triggers visible handles)

Handles should not bother user when moving, but should stay visible when finished, for adjusting a segment.

  • Handles are difficult to access when the end of the handle is next to the node (so when the segments are almost polygonal). Length of the handles for polygonal shapes can be minimum, not zero. Size of the handles should be discussed, too.
  • delete node - Shift+ CTRL + click
  • join end nodes – select 1st end node, Ctrl + 2nd end node

Could it be done without Ctrl key? You could say GIMP what the segment should it be (polygonal or non polygonal)

multiple nodes

  • move multiple nodes

Is there a need to make it possible to move multiple nodes?

  • delete multiple nodes – Shift select + Delete

This could be done by rectangular selection (drag from right -deletes nodes in selection area; drag from left– deletes all nodes of the path, that is fully in the selection area) + maybe hotkeys to chose – break component or not.

in-between node

  • add in-between node– Ctrl + click on segment

Could it be possible to just click, and keep click+drag for adjusting the segment?


  • delete segment – Ctrl+ Shift click
  • adjust segment – drag segment or adjust handles (activating node triggers visible handles)


  • move component – Shift select multiple nodes + Alt


  • add path- by path dialog
  • move path- Ctrl+Alt move canvas (not the component)
  • merge paths- by path dialog- merge visible paths
  • convert to selection, create from selection, duplicate– by path dialog
  • stroke – by path dialog + stroke path dialog window

general issues

  • handles - going out from the canvas- are not accessible

Maybe we could change the scaling, etc.

other enhancements

  • no possibility to set a 2nd node in a position to make the segment horizontal or vertical
  • selecting multiple nodes/components for deleting, moving etc.
  • it’s important to deliver easy zoom in/out