History log of /haiku/src/apps/charactermap/UnicodeBlockView.cpp
Revision Date Author Comments
# 8d3f6fce 17-May-2020 Dale Cieslak <dcieslak@yahoo.com>

CharacterMap: gray out blocks that aren't supported by the current font

Fixes #15982.

Added font to UnicodeBlockView. Cache Unicode "Blocks" for both
UnicodeBlockView and CharacterView. Added lookup of non-Be Unicode blocks
(i.e. blocks with 'kNoBlock' specified). Gray out non-found blocks.

NOTE: tested fontconfig extensively in another environment and the shown
blocks match what fontconfig returns. However, you may sometimes see
characters in blocks that aren't 'included' in a font. I haven't figured
out why that occurs.

Change-Id: Ia3c7f8ccc6dc43c5ce062ed002846c861a8fa223
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2739
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>


# 19390213 02-Jun-2017 Dale Cieslak <dcieslak@yahoo.com>

CharacterMap: Use binary searches rather than linear lookups where possible.

UnicodeBlockView::SelectBlockForCharacter and CharacterView::_FrameFor
use the same linear search to find which block a character is in, so I
refactored both to use a shared BlockForCharacter function in UnicodeBlocks.cpp
that is a binary search. CharacterView::_BlockAt also had a TODO comment to
use a binary search, so I rewrote it as a binary search. It's not the same
search as the aforementioned BlockForCharacter function. These two changes
ought to improve the overall performance of CharacterMap.

Signed-off-by: Augustin Cavalier <waddlesplash@gmail.com>


# 0340e4b3 26-Nov-2014 dsizzle <dcieslak@yahoo.com>

CharacterMap: several fixes to char. view scroll

* Select items in the encoding list by block identifier rather than
list index (there are holes in the list)
* Scroll to the start of the list when the application starts
* Add and use IsBlockVisible to detect when we need to make a block
visible, avoiding unwanted scrollings in some cases with the previous
method of testing for only one character in the block.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes some problems with previous enhancements from #3651.


# 74d9b875 23-Nov-2014 dsizzle <dcieslak@yahoo.com>

CharacterMap: select Unicode block for current character

* Scrolling the list of characters now selects the currently visible
block in the blocks list.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes #3651, part 1


# ad491b43 13-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved _CreateBlocks() back into the constructor. That used to make bug #3572
more reproducible, but it doesn't work for me anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f400a12 02-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Added filter control for the Unicode block list.
* The status line now contains the character as well, as suggested by humdinger.
* Moved the list view into its own class UnicodeBlockView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29863 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 0340e4b336ab01b78e7291c5d4ace2ba551a20f4 26-Nov-2014 dsizzle <dcieslak@yahoo.com>

CharacterMap: several fixes to char. view scroll

* Select items in the encoding list by block identifier rather than
list index (there are holes in the list)
* Scroll to the start of the list when the application starts
* Add and use IsBlockVisible to detect when we need to make a block
visible, avoiding unwanted scrollings in some cases with the previous
method of testing for only one character in the block.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes some problems with previous enhancements from #3651.


# 74d9b875c2b854cadbd674a37bdde3ea64a4f062 23-Nov-2014 dsizzle <dcieslak@yahoo.com>

CharacterMap: select Unicode block for current character

* Scrolling the list of characters now selects the currently visible
block in the blocks list.

Signed-off-by: Adrien Destugues <pulkomandy@gmail.com>

Fixes #3651, part 1


# ad491b436f55eb21c58f6115e0031cf5282738ea 13-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Moved _CreateBlocks() back into the constructor. That used to make bug #3572
more reproducible, but it doesn't work for me anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30148 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8f400a127ad8d2805104b69a279b4832a4bf42ea 02-Apr-2009 Axel Dörfler <axeld@pinc-software.de>

* Added filter control for the Unicode block list.
* The status line now contains the character as well, as suggested by humdinger.
* Moved the list view into its own class UnicodeBlockView.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29863 a95241bf-73f2-0310-859d-f6bbb57e9c96