글이 길어서 초반에 요약을 하고 들어가자면, 1. Tesseract를 빌드하려고 보니 Leptonica가 필요함 2. Leptonica를 빌드하려고 보니 여러 이미지 라이브러리들이 필요함 3. 그래서 이미지 라이브러리 빌드 -> Leptonica 빌드 -> Tesseract 빌드 순으로 빌드 의 내용입니다. 여기서 나오는 Leptonica는 v1.76.1 이고 Tesseract는 4.0 입니다. 문자 인식을 위해 OpenCV contrib에 있는 Text 모듈을 사용하려고 하였고, Tesseract가 없으면 안된다는 글이 있어서 빌드 하기로 하였습니다. The recognition part currently uses open-source Tesseract OCR (https://code.google.co..
예전에 ProgressBar 색상을 쉽게 변경한 적이 있어 같은 방법으로 시도하다가 실패하여 그 기록을 남기고자 글을 씁니다. Progress bar의 색은 현재 Windows시스템이 어떤 테마를 사용하느냐에 달려 있습니다. 만약에 "Windows Classic" 테마를 쓴다면 CProgressCtrl 함수에 있는 SetBarColor 함수를 사용하면 됩니다. COLORREF SetBarColor(COLORREF clrBar); 예제 코드는 아래와 같네요. CProgressCtrl m_progressCtrl;m_progressCtrl.SetBarColor(RGB(255, 0, 0)); 위와 같이 작성하면 바뀝니다. 하지만 Aero 테마를 쓴다면 녹색만 표시 되고 위의 코드에 의해 다른 색으로 변경되지 않..
Office에서 글을 쓰다보면 특정 단어(특히 영어)를 쓸 때 영어 스펠링이 한글의 특정 단어와 같아서 자동으로 바뀌는 일이 일어납니다. 보통 일반적인 단어에서는 그런일이 없고, 회사 이름, 줄임말등을 쓸 때 나타나는데 이를 막는법을 공유합니다. 먼저 Office의 파일 > 옵션을 선택합니다. 그러면 아래와 같은 새 창이 뜨는데, 언어 교정을 선택하고, 자동 고침 옵션을 클릭합니다. 자동 고침 창에서 예외 항목을 클릭합니다. 그러면 아래와 가치 자동 고침 예외의 단어를 추가할 수 있는데요, 특히 영문에서 한글로 자동 고침 되는 것은 "한/영 자동고침" 탭에서 원하는 단어를 입력후 추가하면, 그 단어를 쓸 때 영문이 한글로 바뀌는 일은 다시는 일어나지 않습니다.^^
AOSP 시스템 설정 값 위치는 아래 두 위치에 있습니다. [Android Root]에서* ./frameworks/base/packages/SettingsProvider/res/values/defaults.xml * ./frameworks/base/core/res/res/values/config.xml 보통 장치 제조사의 기본 설정값은 아래의 위치에 있습니다. * ./device/(company name)/(product name)/overlay/frameworks/base/core/res/res/values/config.xml 빌드시 위의 파일을 원래 파일에 덮어 씁니다.
AOSP에서 Timezone이나 Language, Country같은 정보는 모두 System property에 저장되어 있습니다. 저장된 내용은 Native에서는 __system_property_get("key", data); Java에서는 System.getProperty(Key); 로 읽어 옵니다. Property에 값을 추가, 변경하는 방법은 다양하게 있지만, OS 빌드시 초기 값으로 설정하는 방법은 init.rc에 설정하는 것 입니다. 먼저 Property 설정은 * setprop persist.sys.language ko 같은 형식으로 합니다. 국가는 한국, Timezone은 Seoul, 언어는 한글로 설정하려면 * setprop persist.sys.language ko* setprop per..
Kconfig* Kernel에 새로운 장치를 추가하고, 해당하는 모듈을 추가하기 위해서는 먼저 Kconfig 파일을 알아야 합니다. * Kconfig를 정리하자면1. Tree구조로 된 Configuration option들의 집합으로 자신만의 종속성을 가지고 있음2. Child Entry는 Parent Entry가 선택되어 볼 수 있게 되었을 때만 보임.3. Menu entry들은 각각의 config option을 정의하고 있음.4. 각각의 config option들은 자신만의 type을 가지며, tristate, bool type이 있음.- tristate: - bool: 5. 이 type에 어떤 선택을 하느냐에 따라 Kernel에 해당 모듈을 포함하는 여부가 결정됨. (보통 make menuconfi..
Kernel을 빌드 할 때 어떤 Driver를 포함할지, 말지, 아니면 모듈로 포함할지 결정하기 위해서 config를 정의합니다. 보통 kernel의 root 디렉토리에서 $ make menuconfig 명령을 치면 아래와 같은 화면이 출력 됩니다. 설정 이후 저장 하면 .config 파일로 저장되며, 이 파일을 빌드 옵션으로 사용할 수 있습니다. 예>$ cp .config arch/arm/configs/my_defconfig$ make my_defconfig $ make menuconfig 를 실행하면, Kernel 내의 Kconfig 파일들을 읽어 들여서 장치들의 목록을 트리 구조로 구조화 한 후 메뉴를 표시합니다. 옵션을 설정한 후 저장하면 .config로 표시되고 이를 arch/*/configs ..
ubuntu 16.04에서 Android 6.0을 빌드하다 보니 아래와 같은 오류 메시지가 나타나며 빌드가 실패하더라.. 위의 오류의 이유는 잘 모르겠으나 아래와 같이 수정하여 해결함!! /art/build/Android.common_build.mk 파일의 # Host. ART_HOST_CLANG := false ifneq ($(WITHOUT_HOST_CLANG),true) # By default, host builds use clang for better warnings. ART_HOST_CLANG := true endif 를 # Host. ART_HOST_CLANG := false ifeq ($(WITHOUT_HOST_CLANG),false) # By default, host builds use cl..