Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Inconsistent font rendering/sizing #135

Closed
coderobe opened this issue Feb 9, 2018 · 1 comment
Closed

Inconsistent font rendering/sizing #135

coderobe opened this issue Feb 9, 2018 · 1 comment
Assignees
Labels
Milestone

Comments

@coderobe
Copy link
Contributor

coderobe commented Feb 9, 2018

The LCUI example helloworld shows inconsistent font sizes when updating the text.

Reproduction Steps:

  1. Build current develop branch
  2. Build examples in test/
  3. Run the built helloworld
  4. Repeatedly click the Change button

Screenshots and GIFs
font-rendering

LCUI version: branch develop commit 402bc031b424923b89feea390a84a2c15a9b1fdb
OS and version: Linux 4.15.1
Build tools: gcc (GCC) 7.3.0
Libraries (taken from LCUI_LIBS in the generated Makefile):

  • libxml2 2.9.7
  • freetype 2.9
  • libx11 1.6.5
  • libpng 1.6.34
  • zlib 1.2.11
  • libjpeg-turbo 1.5.3
@lc-soft lc-soft self-assigned this Feb 9, 2018
@lc-soft lc-soft added the bug label Feb 9, 2018
@lc-soft lc-soft added this to the 1.0.0 beta 2 milestone Feb 25, 2018
lc-soft added a commit that referenced this issue Mar 3, 2018
@lc-soft
Copy link
Owner

lc-soft commented Mar 3, 2018

Fixed.

9995b23#diff-e0a052a143a1fd2418b69fd5fcf24ee2R58

LCUI_TextStyle::has_pixel_size is not initialized before it is used.

void TextStyle_Init( LCUI_TextStyle data )
{
	data->has_style = FALSE;
	data->has_weight = FALSE;
	data->has_family = FALSE;
+	data->has_pixel_size = FALSE;
	data->has_back_color = FALSE;
	data->has_fore_color = FALSE;

@lc-soft lc-soft closed this as completed Mar 3, 2018
lc-soft added a commit that referenced this issue Mar 19, 2018
* build: add missing header to Makefile.am (#133)

PR: #133

* fix(worker): worker did not enter the blocked state waiting for task (#134)

* build: add support use "make test" to run test cases

* docs: add description for the defects

* fix(thread): memory leak bug when running test

* Change license to MIT (#127)

* docs(README): correct the word, "ike" -> "like"

* docs(README): update description of CSS parsing

* style(draw): remove unused code

* feat(css): add parsing support for "border-left: 0;"

* perf(widget): rename scrollbar widget attributes

* refactor(widget-event): rename WET_* to LCUI_WEVENT_*

* refactor(widget-task): rename WTT_* to LCUI_WTASK_*

* feat(timer): add LCUITimer_SetTimeout() and LCUITimer_SetInterval()

* refactor(widget-state): rename WSTATE_* to LCUI_WSTATE_*

* feat(widget-event): add "link" event, rename "remove" event to "unlink"

* fix(widget): Scrollbar_BindBox() not working after scrollbar initialize

* fix(widget): Widget_GetOffset() result does not include padding spacing

* fix(widget): scrollbar did not cancel the event bubbling (#145)

* chore: add .github/stale.yml

* chore(stale.yml): update exempt labels and time limit

* refactor(widget): rename LCUI_WidgetBoxRect to LCUI_WidgetBoxModel

* test: rename WET_* to LCUI_WEVENT_*

* fix(renderer): widget content overflow (#144)

* fix: some memory leak bugs (#135)

* fix(renderer): incorrect widget content rectangle computation (#122,#123)

* style(widget): wrap the code

* fix(widget-event): the touch point coordinate are not been converted

* fix(gui): widget auto size computation bug

* refactor(textlayer): add "LCUI_" prefix for some type names

* docs(README): "Defects" -> "Missing features"

* build: update configure.ac, reset version info

* build: add test programs

* docs(CHANGELOG): move the CHANGELOG file to top dir

* build: update pkg-config description

* chore: ignore node_modules

* docs(README): remove spaces

* docs(README): update lcui.css screenshot

* build: add widget layout test projects

* test: update test

* chore: add test project files

* test: add test scaling support

* docs(CHANGELOG): add v1.0.0-beta.2 changelog
lc-soft added a commit that referenced this issue Apr 24, 2018
PR: #133

* build: add missing header to Makefile.am (#133)

* fix(worker): worker did not enter the blocked state waiting for task (#134)

* build: add support use "make test" to run test cases

* docs: add description for the defects

* fix(thread): memory leak bug when running test

* Change license to MIT (#127)

* docs(README): correct the word, "ike" -> "like"

* docs(README): update description of CSS parsing

* style(draw): remove unused code

* feat(css): add parsing support for "border-left: 0;"

* perf(widget): rename scrollbar widget attributes

* refactor(widget-event): rename WET_* to LCUI_WEVENT_*

* refactor(widget-task): rename WTT_* to LCUI_WTASK_*

* feat(timer): add LCUITimer_SetTimeout() and LCUITimer_SetInterval()

* refactor(widget-state): rename WSTATE_* to LCUI_WSTATE_*

* feat(widget-event): add "link" event, rename "remove" event to "unlink"

* fix(widget): Scrollbar_BindBox() not working after scrollbar initialize

* fix(widget): Widget_GetOffset() result does not include padding spacing

* fix(widget): scrollbar did not cancel the event bubbling (#145)

* chore: add .github/stale.yml

* chore(stale.yml): update exempt labels and time limit

* refactor(widget): rename LCUI_WidgetBoxRect to LCUI_WidgetBoxModel

* test: rename WET_* to LCUI_WEVENT_*

* fix(renderer): widget content overflow (#144)

* fix: some memory leak bugs (#135)

* fix(renderer): incorrect widget content rectangle computation (#122,#123)

* style(widget): wrap the code

* fix(widget-event): the touch point coordinate are not been converted

* fix(gui): widget auto size computation bug

* refactor(textlayer): add "LCUI_" prefix for some type names

* docs(README): "Defects" -> "Missing features"

* build: update configure.ac, reset version info

* build: add test programs

* docs(CHANGELOG): move the CHANGELOG file to top dir

* build: update pkg-config description

* chore: ignore node_modules

* docs(README): remove spaces

* docs(README): update lcui.css screenshot

* build: add widget layout test projects

* test: update test

* chore: add test project files

* test: add test scaling support

* docs(CHANGELOG): add v1.0.0-beta.2 changelog
lc-soft added a commit that referenced this issue Apr 24, 2018
PR: #133

* build: add missing header to Makefile.am (#133)

* fix(worker): worker did not enter the blocked state waiting for task (#134)

* build: add support use "make test" to run test cases

* docs: add description for the defects

* fix(thread): memory leak bug when running test

* Change license to MIT (#127)

* docs(README): correct the word, "ike" -> "like"

* docs(README): update description of CSS parsing

* style(draw): remove unused code

* feat(css): add parsing support for "border-left: 0;"

* perf(widget): rename scrollbar widget attributes

* refactor(widget-event): rename WET_* to LCUI_WEVENT_*

* refactor(widget-task): rename WTT_* to LCUI_WTASK_*

* feat(timer): add LCUITimer_SetTimeout() and LCUITimer_SetInterval()

* refactor(widget-state): rename WSTATE_* to LCUI_WSTATE_*

* feat(widget-event): add "link" event, rename "remove" event to "unlink"

* fix(widget): Scrollbar_BindBox() not working after scrollbar initialize

* fix(widget): Widget_GetOffset() result does not include padding spacing

* fix(widget): scrollbar did not cancel the event bubbling (#145)

* chore: add .github/stale.yml

* chore(stale.yml): update exempt labels and time limit

* refactor(widget): rename LCUI_WidgetBoxRect to LCUI_WidgetBoxModel

* test: rename WET_* to LCUI_WEVENT_*

* fix(renderer): widget content overflow (#144)

* fix: some memory leak bugs (#135)

* fix(renderer): incorrect widget content rectangle computation (#122,#123)

* style(widget): wrap the code

* fix(widget-event): the touch point coordinate are not been converted

* fix(gui): widget auto size computation bug

* refactor(textlayer): add "LCUI_" prefix for some type names

* docs(README): "Defects" -> "Missing features"

* build: update configure.ac, reset version info

* build: add test programs

* docs(CHANGELOG): move the CHANGELOG file to top dir

* build: update pkg-config description

* chore: ignore node_modules

* docs(README): remove spaces

* docs(README): update lcui.css screenshot

* build: add widget layout test projects

* test: update test

* chore: add test project files

* test: add test scaling support

* docs(CHANGELOG): add v1.0.0-beta.2 changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants