Home | History | Annotate | Download | only in util
      1 /*
      2  * ConnectBot: simple, powerful, open-source SSH client for Android
      3  * Copyright 2007 Kenny Root, Jeffrey Sharkey
      4  *
      5  * Licensed under the Apache License, Version 2.0 (the "License");
      6  * you may not use this file except in compliance with the License.
      7  * You may obtain a copy of the License at
      8  *
      9  *     http://www.apache.org/licenses/LICENSE-2.0
     10  *
     11  * Unless required by applicable law or agreed to in writing, software
     12  * distributed under the License is distributed on an "AS IS" BASIS,
     13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
     14  * See the License for the specific language governing permissions and
     15  * limitations under the License.
     16  */
     17 
     18 package org.connectbot.util;
     19 
     20 import android.util.Log;
     21 
     22 /**
     23  *
     24  */
     25 public class EastAsianWidth {
     26 	public static boolean useJNI = false;
     27 	private static final String TAG = "ConnectBot.EastAsianWidth";
     28 
     29 	/**
     30 	 * @param charArray
     31 	 * @param i
     32 	 * @param position
     33 	 * @param wideAttribute
     34 	 * @param isLegacyEastAsian
     35 	 */
     36 	public native static void measure(char[] charArray, int start, int end,
     37 			byte[] wideAttribute, boolean isLegacyEastAsian);
     38 
     39 	static {
     40 		try {
     41 			System.loadLibrary("org_connectbot_util_EastAsianWidth");
     42 
     43 			char[] testInput = {(char)0x4EBA};
     44 			byte[] testResult = new byte[1];
     45 			measure(testInput, 0, 1, testResult, true);
     46 
     47 			if (testResult[0] == 1)
     48 				useJNI = true;
     49 			else
     50 				Log.d(TAG, "EastAsianWidth JNI measuring not available");
     51 		} catch (Exception e) {
     52 			// Failure
     53 		} catch (UnsatisfiedLinkError e1) {
     54 			// Failure
     55 		}
     56 	}
     57 }
     58